Monolitik uygulamaları mikro hizmetlere ayıran insanlar için, veritabanını parçalama bağlantılarını nasıl ele alıyorsunuz? Üzerinde çalıştığım tipik uygulamalar, performans ve basitlik nedenleriyle çok sayıda veritabanı entegrasyonu yapıyor.
Mantıksal olarak farklı iki tablonuz varsa (sınırlandırılmış bağlamlar), ancak genellikle bu verilerin büyük hacimleri üzerinde toplu işlem yapıyorsanız, monolitte büyük olasılıkla nesne oryantasyonundan kaçınır ve bunun yerine veritabanınızın standardını kullanırsınız. Birleştirilmiş görünümü uygulama katmanınıza geri döndürmeden önce veritabanındaki verileri işlemek için BİRLEŞTİR özelliği.
Bu tür verileri mikro hizmetlere bölmeyi nasıl haklı çıkarırsınız, muhtemelen verileri veritabanından ziyade bir API aracılığıyla 'birleştirmeniz' istenecektir.
Sam Newman'ın Mikro Hizmetler kitabını okudum ve Monolith'i bölme ile ilgili bölümde, bir API üzerinden birleştirme yapmanın daha yavaş olacağını kabul ettiği "Yabancı Anahtar İlişkilerini Kırma" örneğini veriyor - ancak şöyle devam ediyor: Başvurunuz zaten yeterince hızlı, öncekinden daha yavaş olması önemli mi?
Bu biraz nazik görünüyor mu? İnsanların deneyimleri nelerdir? API birleştirmelerinin kabul edilebilir performans göstermesi için hangi teknikleri kullandınız?