Yeni bir uygulama yapıyorum ve mikro hizmetler mimarisi hakkında okuyordum. Mimarinin kendisi, geliştirme, devreye alma ve yaşam döngüsü yönetimi açısından çok anlamlı. Ancak ortaya çıkan bir sorun, ana verilerin nasıl ele alınacağıyla ilgiliydi.
Örneğin, 2 uygulamam var - Satış uygulaması ve Biletleme uygulaması. Bu uygulamaların her ikisinin de kendi mikro hizmetleri olarak oluşturulduğunu varsayın. Ancak bu uygulamaların her ikisinin de dağıtıldıklarında (ayrı olarak dağıtıldıklarını varsayarak Satışların MongoDB kullandığını ve Biletleme MariaDB kullandığını varsayarsak), Hesaplar, Ürünler gibi aynı ana veri örneklerine erişmesi gerekir. Bu, belirli bir ana veri varlığı için (örneğin Satış uygulaması olabilir Hesaplar için) bir sahip uygulaması ve ilgili bir tarafın (örneğin Biletleme uygulamasının Hesaplar hakkında bilgi sahibi olması gerektiği) olacağı anlamına gelir.
Bunu başarmanın birden fazla yolu vardır: - Master'dan ilgilenen tarafa veri çoğaltma - İlgili taraftan ustaya senkron okuma (mikro hizmetler mimarisi paradigması tarafından senkronizasyon bağımlılığı önerilmez) - Kendi merkezi deposu
Hesaplar içinde bile, hem Satış hem de Biletleme için ortak olan temel bir kısım olabilir (örneğin hesap adı, adres vb.). Bununla birlikte, Hesabın bazı yönleri SADECE Satış için, SADECE Bilet için geçerli olabilir.
Yukarıda belirtilen seçeneklerden herhangi biri hakkında herhangi bir düşünce / en iyi uygulama / fikir?