Aracılığıyla paylaş


DDD ve CQRS Desenleri ile Mikro Hizmette İş Karmaşıklığını Ele Alın

Tavsiye

Bu içerik, .NET Docs veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Kapsayıcılı .NET Uygulamaları için .NET Mikro Hizmet Mimarisi adlı e-Kitap'tan bir alıntıdır.

.NET Mikro Hizmetler Mimarisi Kapsayıcılı .NET Uygulamaları için eKitabın kapak küçük resmi .

Her bir mikro hizmet veya Sınırlanmış Bağlam için, iş etki alanını yansıtan bir etki alanı modeli tasarlayın.

Bu bölüm, karmaşık alt sistemleri veya sürekli değişen iş kurallarıyla etki alanı uzmanlarının bilgisinden türetilen mikro hizmetleri ele almanız gerektiğinde uygulayabileceğiniz daha gelişmiş mikro hizmetlere odaklanır. Bu bölümde kullanılan mimari desenleri, Şekil 7-1'de gösterildiği gibi etki alanı temelli tasarım (DDD) ve Komut ve Sorgu Sorumluluğu Ayrım (CQRS) yaklaşımlarını temel alır.

Dış ve iç mimari desenlerini karşılaştıran diyagram.

Dış mimari arasındaki fark: mikro hizmet desenleri, API ağ geçitleri, dayanıklı iletişimler, pub/sub, vb. ve iç mimari: veri odaklı/CRUD, DDD desenleri, bağımlılık ekleme, birden çok kitaplık vb.

Şekil 7-1. Her mikro hizmet için dış mikro hizmet mimarisi ile iç mimari desenleri karşılaştırması

Ancak ASP.NET Core Web API hizmeti uygulama veya Swashbuckle veya NSwag ile Swagger meta verilerini kullanıma sunma gibi veri temelli mikro hizmetlere yönelik tekniklerin çoğu, DDD desenleriyle dahili olarak uygulanan daha gelişmiş mikro hizmetler için de geçerlidir. Bu bölüm önceki bölümlerin bir uzantısıdır, çünkü daha önce açıklanan uygulamaların çoğu burada veya herhangi bir mikro hizmet için de geçerlidir.

Bu bölümde öncelikle eShopOnContainers başvuru uygulamasında kullanılan basitleştirilmiş CQRS desenleri hakkında ayrıntılar sağlanır. Daha sonra, uygulamalarınızda yeniden kullanabileceğiniz yaygın desenleri bulmanıza olanak tanıyan DDD tekniklerine genel bir bakış elde edersiniz.

DDD, öğrenme için zengin kaynaklara sahip büyük bir konu başlığıdır. Eric Evans'ınDomain-Driven Tasarımı gibi kitaplarla ve Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard ve diğer birçok DDD/CQRS uzmanından ek malzemelerle başlayabilirsiniz. Ancak en önemlisi, somut iş alanınızdaki uzmanlarla yapılan konuşmalar, beyaz tahta oluşturma ve etki alanı modelleme oturumlarından DDD tekniklerinin nasıl uygulanacağını öğrenmeye çalışmanız gerekir.

Ek kaynaklar

DDD (Domain-Driven Tasarımı)
DDD kitapları
DDD eğitimi