Her ikisi de bir Kullanıcı kavramına sahiptir ve birbirlerini arayarak Kullanıcılar hakkında konuşacaklardır.
Ayrıca, ne soru söylediklerini kabul ediyorum. Bir servis başka bir servisin verisine ihtiyaç duyuyorsa, sınırları yanlış olur.
Güzel bir çözüm, pnschofield'ın geldiği şeydir - hizmetlerinizi Sınırlı bağlam olarak kabul etmek.
Konu hakkında konuşmak, kısaca söylemek gerekirse: paylaşılan alan modelleri, servis hizmetini dağıtır ve mikro servis sisteminizi dağıtılmış monolit haline getirir. Anlaşılan o ki, bir monolitten bile daha kötü.
Bu yüzden hala çözülemeyen genel bir soru var - hizmet veya bağlam sınırlarının nasıl tanımlanacağı, böylece yüksek tutarlılıkta ve gevşek kavrama iyiliği içinde gelişmeleri.
Bağlamlarımı iş yeteneği olarak değerlendirmek için bir çözüm buldum. Genel iş hedefine katkıda bulunan üst düzey bir işletme sorumluluğu, işletme işlevselliğidir. Bunları, kuruluşunuzun işletme değeri elde etmek için olsa yürümesi gereken adımlar olarak düşünebilirsiniz.
Servis sınırlarını belirlerken attığım tipik adım dizilim şöyle:
- Daha üst düzey işletme yeteneklerini tanımlayın. Genellikle aynı etki alanındaki kuruluşlar arasında benzerdirler. Porter'ın değer zinciri modelini kontrol etmek gibi göründüğünü hissedebiliyorsun .
- Her yetenek içinde daha derine inin ve alt yetenekleri tanımlayın.
- Yetenekler arasındaki iletişimi not edin. Bir örgütün ne yaptığına bakın. Genellikle iletişim, çalışmalarının geri kalanı hakkında bilgi veren, yetenekler içinde yoğunlaşmıştır. Bu nedenle, teknik mimariyi uygularken, servisiniz de olaylar aracılığıyla iletişim kurmalıdır. Bunun çok sayıda olumlu sonucu var. Bu yaklaşımla hizmetleriniz özerk ve uyumludur. Senkronize iletişim ve dağıtılmış işlemlere ihtiyaçları yoktur.
Muhtemelen bu tekniğin bir örneği sizin için biraz ilgi çekici olacaktır. Bu yaklaşımı gerçekten karlı bulduğum için ne düşündüğünüzü söylememe çekinmeyin. Tabii ki senin için de işe yarayabilir.