Çoklu Sunucu Mimarisi ve Yük Dengeleme
Yatay ölçekleme, yük dengeleyici, oturum yönetimi, sağlık kontrolü ve durumsuz uygulama tasarımı.
Tek sunucu, tek arıza noktasıdır. Trafik büyüdükçe veya kesintisizlik önem kazandıkça uygulama birden çok sunucuya yayılır. Bunun ön koşulu, uygulamanın çoğaltılabilir olacak şekilde tasarlanmasıdır.
Yük dengeleyici
Gelen istekleri birden çok uygulama sunucusuna dağıtan bileşendir. Kullanıcı tek bir adres görür; arkada kaç sunucu olduğunu bilmez. Bir sunucu düşerse dengeleyici onu havuzdan çıkarır.
- Dağıtım yöntemi: sırayla, en az bağlantı, ağırlıklı veya kaynak IP tabanlı
- Katman: ağ düzeyinde (hızlı, basit) veya uygulama düzeyinde (yol bazlı yönlendirme, SSL sonlandırma)
Sağlık kontrolü
Dengeleyici her sunucuya düzenli olarak bir kontrol isteği gönderir. Sunucu yanıt vermezse veya hata dönerse trafik ona gönderilmez; düzelince otomatik geri alınır.
Durumsuz uygulama
Her istek herhangi bir sunucuya düşebilmelidir. Bunun için oturum, önbellek ve yüklenen dosyalar sunucunun yerel diskinde değil, paylaşılan bir katmanda tutulur.
- Oturum: merkezi anahtar değer deposunda
- Yüklenen dosyalar: paylaşılan veya nesne depolamada
- Önbellek: paylaşılan önbellek sunucusunda
- Zamanlanmış görevler: tek bir düğümde veya kilitli çalışacak şekilde
Ölçekleme türleri
- Dikey: tek sunucuya daha çok kaynak; basit ama sınırlı ve tek arıza noktası
- Yatay: daha çok sunucu; sınırsıza yakın, arıza toleransı yüksek, tasarım disiplini gerektirir
Kademeli yayın
Yeni sürüm önce bir sunucuya alınır, sorun yoksa kalanlara yayılır. Kullanıcı kesinti yaşamaz; hata görülürse yayın durdurulur ve geri alınır.