Size iki sent veriyorum.
but I also get the impression that it becomes much harder to track a message's path though the system.
Sen SOA ayırmasının bir hayli sağlayan AKA (2.0 SOA) mimarilerinde bu doğru PubSub, ama bu durumda tam olarak ne olduğundan Splunk gibi araçlar bir yardımcı mümkün olsa da, aynı zamanda, bir bedel ödemek çok. En çok kullanılan .net olay soa çerçeveler (NServiceBus, Katır ve MassTransit) onlar http aramaları kullanmayın, ama evet bir microservices mimarisini uygulayabilir ve olarak http kullanabilir bakarsak Aslında
seems that direct HTTP calls between services and/or a pubsub bus are two common approaches
iletişim protokolü.
En iyi kurumsal mimari konseptlerinden bazılarını uygulamaya başlamak istediğinizi anlıyorum, ancak daha basit, ancak daha güçlü temellerle başlamanızı daha iyi söyleyebilirim. Gerçekten ihtiyacınız olup olmadığını bilmeden, soa'ya atlamak için bir nokta yoktur. Yeni bir sisteme başlamış olsaydım ve DDD ve SOA ilkelerini düzgün bir şekilde uyarladığımdan emin olmak istediğimde, alanım için hizmetleri tanımlayarak işe başlarım. Yani 3 hizmetiniz olduğunu varsayalım, bu hizmetlerin her biri için kamu sözleşmelerini ilan ederek başlayabilir, özel bir şeye ihtiyacınız yoktur, WCF/ASP.NET Web API'sini bir senkronizasyon REST API'si ile başlatabilirsiniz. Daha sonra, her bir hizmetin kendi veritabanını alacağından emin olursunuz, çünkü düşük bağlantıyı hedefliyorsunuz ve daha sonra WCF/ASP.NET Web API'sini kullanarak bir API katmanı (dış dünyaya görülebilir) oluşturabiliyorsunuz. çünkü mikro servisleriniz doğrudan dış dünyaya maruz bırakılmamalıdır. Bu noktada, tasarım, mimari gibi basit bir SOA'ya sahip olacaksınız, ancak iyi tanımlanmış kontratlara sahip olacağınız için, servislerinize uyumsuzluk özellikleri ekleyerek servislerinizi genişletebilirsiniz ve bunun için bir mesaj kuyruğu ekleyerek başlayabilirsiniz. Hizmetlerin her birine. Biliyorsunuz, karmaşık bir sistemle başlamanıza gerek yok, temel, iyi tanımlanmış bir şeyle başlayın, ki bunu yapmanız gerekiyorsa ölçeklemenize izin veriyor.
Tanımladığım sistem, istediğiniz durumlarda kolayca olayları destekleyecek şekilde genişletilebilir ve bu noktada zaten senkronize edilmiş mesajlar, sisteme asyn mesajlarını eklemekten vazgeçmez.
Fakat bunlar sadece iki sent'im.