Başlangıç noktası olarak modüler monolit, kanıt varsa mikroservisler
Yeni sistemler, açık modül sınırlarına sahip modüler bir monolit olarak başlar. Tekil servisler yalnızca somut bir gereksinim bunu haklı çıkardığında ayrıştırılır.
Bu nedir? · Karar kaydı (ADR)
ADR formatında belgelenmiş bir mimari karar — bağlam, incelenen seçenekler, gerekçe ve sonuçlar. Genel bir rehber değil, somut bir karar. Genel bakışa git
- Durum
- Kabul edildi
- Kimlik
- ADR-001
- Gözden geçirme
- Bir modülün bağımsız ölçeklendirme veya bağımsız deployment gerektirdiği kanıtlandığında yeniden değerlendirilmelidir.
Bağlam
Yeni sistemler, tek bir deployment (monolit) ile dağıtık servisler (mikroservisler) arasında seçim yapmak zorundadır. Bu seçim; işletimi, değiştirilebilirliği ve maliyetleri yıllarca belirler.
Sorun
Dağıtık sistemler gerçek problemleri çözer — bağımsız ölçeklendirme, bağımsız deployment — ancak beraberinde ağ sınırları, eventual consistency ve operasyonel yük getirir. Fayda bu maliyetleri ne zaman haklı çıkarır?
Neleri değerlendirdik?
- A
Modüler monolit
Tek deployment, tek kod tabanında net modül sınırları.
- B
Baştan itibaren mikroservisler
Bağımsız olarak deploy edilebilen ve ölçeklenebilen birden fazla servis.
- C
Dağıtık monolit
Gerçek bir ayrışma olmadan birden fazla servis — en kötü seçenek.
Neye karar verdik?
Yeni sistemler, açık modül sınırlarına sahip modüler bir monolit olarak başlar. Tekil servisler yalnızca somut bir gereksinim bunu haklı çıkardığında ayrıştırılır.
Bu kararın gerekçesi
Modüler monolit pahalı kararları açık tutar. Sınırlar açıktır, ancak onları aşmak bir ağ atlamasına mal olmaz; işletim basit kalır. Temiz modüller ileride hedefli biçimde dağıtılabilir — ters yön ise belirgin biçimde daha pahalıdır.
Sonuçlar
- Servis bir bütün olarak ölçeklenir; tek tek parçalar bağımsız olarak ölçeklendirilemez.
- Modül disiplini aktif olarak korunmalıdır; aksi hâlde büyük bir çamur yumağı (big ball of mud) tehlikesi doğar.
- Bir modülün ileride ayrıştırılması, başlı başına bilinçli bir karardır.
Elenen alternatifler
- Varsayılan olarak mikroservislerFayda netleşmeden dağıtık sistemlerin maliyetlerini öder.
- Serverless-firstYük profilleri bilinmeden işletim modeline ve sağlayıcıya erkenden bağlar.
İlgili konular.
Bu sayfayla bağlantılı rehberler, kararlar, hizmetler ve projeler.
Teknolojiler
Uygulama kılavuzları
Bakış açıları
Benzer bir kararın eşiğinde misiniz?
Bu kararları içgüdüyle vermiyoruz. Sisteminizdeki kararları doğrudan yönetimimizle konuşabilirsiniz.
