Mikroservisleri Birleştirme Hatası
Bir monoliti bölmek zordur. Mikroservisleri geri birleştirmek mi? Daha zor.
Plan:
- İlgili şeyler yapan 10 küçük servis
- 3 alan servisine birleştirme
- Tahmini: 6 hafta
Gerçeklik:
- Süre: 6 ay
- Her yerde gizli asenkron bağımlılıklar
- 3 farklı mesaj kuyruğu deseni
- Şema uyumsuzlukları
- Yalnızca ölçekte ortaya çıkan yarış koşulları
Ne keşfettik:
- Servis A JSON bekliyordu, Servis B XML gönderiyordu
- Servis C'nin belgelenmemiş önbellekleme varsayımları vardı
- İki servis aynı veri konseptine farklı şekilde sahipti
- Kimse tam bağımlılık grafiğini bilmiyordu
Dersler:
- Servis sözleşmelerini takıntılı bir şekilde belgeleyin
- Canlı bir bağımlılık grafiği tutun
- Birleştirme, yeniden düzenleme değil, yeniden yazmadır
- Strangler Fig desenini tersten düşünün
Ders: Bölme (biraz) geri alınabilir. Geri almanın maliyeti zamanla katlanır.