6.4. Veri Yönetimi Desenleri
Mikroservislere bağımsızlığını veren kural — her servisin kendi veritabanına sahip olması — aynı zamanda join’leri, işlemleri (transaction) ve kolay servisler arası sorguları elinizden alan kuraldır. Paylaşılan bir veritabanı, ayırmak için uğraştığınız servisleri sessizce yeniden birbirine bağlar; veritabanlarını özel tutmak ise sorgulama ve tutarlılığı uygulama katmanında çözmenizi zorunlu kılar. Bu bölüm, servis başına veritabanını, paylaşılan-veritabanı anti-deseninin neden bu kadar cazip ve bu kadar tehlikeli olduğunu ve “sahip olmadığım veriyi nasıl sorgularım?” sorusunu yanıtlayan bileşim, polyglot persistence ve materialized view desenlerini kapsar.
İncelenen Konular
Section titled “İncelenen Konular”- 6.4.1. Servis Başına Veritabanı: Bağımsızlık ve İzolasyon: Servis başına veritabanını, servislere bağımsızlık veren ve kolay join’leri elinden alan kural olarak kurar.
- 6.4.2. Paylaşılan Veritabanı Anti-Deseni: Neden Tehlikelidir: Paylaşılan bir veritabanının servisleri neden sessizce yeniden birbirine bağladığını ve bağımsızlıklarını baltaladığını açıklar.
- 6.4.3. API Bileşimi: Dağıtık Join Problemi: API bileşimini, servisler arası veriyi uygulama katmanında birleştirmeyi ve performans sınırlarını kapsar.
- 6.4.4. Polyglot Persistence: Doğru İş İçin Doğru Veritabanı: Polyglot persistence’ı açıklar: her servisin erişim deseni için doğru veritabanı türünü seçmek.
- 6.4.5. Servisler Arası Sorgu: Materialized View Deseni: Sorgu performansı için servisler arası bir okuma modelini önceden hesaplayan materialized view desenini kapsar.