İki kurumsal entegrasyon modeli, komut mesajı ve olay mesajıdır . Mesajlaşmayı yalnızca diğer sistemlerle entegrasyon için değil, servisler arasında dahili iletişim için de kullandığımız bir sistem üzerinde çalışıyorum. Bir olması gerekiyordu sonunda tutarlı sistemi ve hizmetler (birkaç özel amaçlı hizmetlerine hariç) birbirinden habersiz olması gerekiyordu. Bu nedenle, uzaktan yordam çağrıları (RPC veya RPI) gibi görünen şeylerden kaçınmaya çalışırız . Bir veriyolu ve mesaj odaklı ara katman yazılımı sistemimiz var ve tüm mesajlar yayınlanıyor.
Mesajlarımızı etkinlik olarak adlandırmaya eğilimliyiz, yani geçmişte mükemmel bir ifade olarak, ör PurchaseOrderShipped
. Ancak, olaylar genellikle yalnızca diğer bazı hizmetler hakkında bilgi sahibi olmaları gerektiğinde eklenir ve başlangıçta genellikle yalnızca bir hizmet önemser. Dahası, bazen bu hizmet, sonuç olarak ilk hizmet tarafından dinlenen bir olay yayar. Bu nedenle, etkileşimi diyagramlayacak olsaydım, yukarıdaki bağlantıdaki komut mesajının (hatta RPC diyagramının) olay mesajının diyagramından çok daha fazla görünmesine rağmen, bir kez daha, doğrudan mesajlaşma ancak bir otobüste yayın. Buna, son zamanlarda komutlar olarak adlandırılan bazı mesajların, yani zorunlulukta bir cümlenin, ör BillShippedPurchaseOrder
.
Garip olan şey, mesajların adlarının ve akış biçimlerinin olay veya komut olarak adlandırılmasına bağlı olarak değişmemesidir. Peki, bir şeyin bir komut mesajı mı yoksa bir olay mı olacağını nasıl belirler? Bu sadece anlambilim ve adlandırma farkı mıdır, yoksa komut ve olay iletileri arasında gerçek bir uygulama farkı var mı? Tüm mesajlarımızın yayınlandığı göz önüne alındığında, bu hiçbirinin gerçekte komut mesajı olmadığı anlamına mı geliyor?
request for information
İşlevleri nasıl uyguluyorsunuz ?getUserInfo(uid)
Yanıt bekleyen bir komut mesajı gibi bir şey kullanmak doğal görünüyor . Komut mesajlarının eşleştirmeyi tanıdığını biliyorum, ancak ne yazık ki bu durumda olay mesajlarıyla nasıl uygulanacağını göremiyorum. Yoksa böyle bazı durumlarda komut mesajlarına sadık kalmak iyi mi?