Modular Monolith Mimarisi Nedir?
Modular monolith, tek bir uygulama olarak dağıtılan fakat iş alanları arasında açık sınırlar kuran mimaridir. Mikroservise geçmeden modül sınırlarını öğrenmek veya tek dağıtımın operasyonel sadeliğini korumak isteyen ekipler için uygun olabilir.
Modül sınırını nasıl belirlersiniz?
Modülleri teknik katmana göre değil, ürün yeteneğine göre ayırın: örneğin Sipariş, Katalog ve Ödeme. Her modül kendi veri modelini, iş kurallarını ve dışarıya açtığı işlemleri yönetir. Diğer modülün iç tablosuna veya sınıfına doğrudan bağımlılığı sınırlayın.
Modül içindeki kodun tek depoda bulunması tek başına yeterli değildir. Bağımlılık yönünü ve izin verilen arayüzleri belgelerle ve mimari testlerle denetleyin.
Modüller arası iletişim ve veri
Senkron çağrı yalnızca gerçekten anlık yanıt gerektiğinde kullanılmalı. Örneğin sipariş tamamlandı olayı sonrası bildirim gönderimi, olay veya kuyruk üzerinden ayrılabilir. Aynı veriyi iki modülün serbestçe güncellemesi sahiplik sorununa yol açar.
Tek veritabanı kullanılabilir; yine de tabloların hangi modüle ait olduğunu belirleyin. Transaction ve tutarlılık ihtiyacını sınırları çizerken değerlendirin.
Geçiş ve ölçüm
Var olan monolitte en fazla değişen veya en çok çakışma yaratan iş alanıyla başlayın. Bağımlılıkları çıkarın, açık bir modül arayüzü tanımlayın, davranışı test edin ve aşamalı taşıyın. Ayrı servis haline getirmek daha sonra ancak bağımsız ölçekleme veya dağıtım ihtiyacı gerçekse düşünülmelidir.




