Bir web sitesi büyüdükçe, tek bir sunucu er ya da geç yetmez hale gelir. Daha güçlü bir sunucuya geçmenin de bir sınırı vardır. İşte bu noktada yük dengeleme (load balancing) devreye girer: trafiği birden çok sunucuya dağıtarak hem kapasiteyi hem de güvenilirliği artırır. Bu rehberde yük dengelemenin nasıl çalıştığını açıklıyoruz.
İlgili içerikler: Sunucu performansı ve darboğaz · Sunucu izlemenin temelleri · CDN nedir
Yük Dengeleme Nedir?
Yük dengeleme, gelen trafiği birden çok sunucuya (arka uç havuzuna) dağıtma işlemidir. Bu dağıtımı yapan bileşene load balancer (yük dengeleyici) denir. Ziyaretçi tek bir adrese bağlanır; load balancer ise isteği arkadaki uygun bir sunucuya yönlendirir.
Bunun iki temel kazancı vardır: ölçeklenebilirlik (daha fazla sunucu ekleyerek kapasiteyi artırma) ve yüksek erişilebilirlik (bir sunucu çökse bile sitenin ayakta kalması).
Dağıtım Algoritmaları
Load balancer, isteği hangi sunucuya göndereceğine bir algoritmaya göre karar verir:
| Algoritma | Çalışma Mantığı |
|---|---|
| Round Robin | İstekleri sunuculara sırayla, döngüsel olarak dağıtır |
| Least Connections | O an en az aktif bağlantısı olan sunucuya gönderir |
| IP Hash | Aynı ziyaretçiyi her zaman aynı sunucuya yönlendirir |
| Weighted | Güçlü sunuculara daha fazla pay verir (ağırlıklı dağıtım) |
Sağlık Kontrolü (Health Check)
Yük dengelemenin kritik bir parçası sağlık kontrolüdür. Load balancer, arkadaki her sunucuyu düzenli aralıklarla kontrol eder — örneğin belirli bir sayfaya istek göndererek. Bir sunucu yanıt vermiyorsa, load balancer ona trafik göndermeyi durdurur ve istekleri sağlam sunuculara yönlendirir. Sunucu tekrar sağlıklı hale geldiğinde havuza geri alınır.
Bu mekanizma sayesinde bir sunucunun çökmesi, ziyaretçi için kesinti anlamına gelmez — trafik sessizce diğer sunuculara kayar.
L4 ve L7 Yük Dengeleme
Yük dengeleme iki seviyede çalışabilir. L4 (taşıma katmanı) yük dengeleme, isteği yalnızca IP ve port bilgisine bakarak dağıtır — hızlıdır ama içeriğe bakmaz. L7 (uygulama katmanı) yük dengeleme ise HTTP isteğinin içeriğine (URL, başlıklar, çerezler) bakabilir; örneğin /api isteklerini bir gruba, statik isteklerini başka bir gruba yönlendirebilir. Nginx gibi araçlar L7 yük dengeleme yapabilir.
Oturum (Session) Yönetimi
Yük dengelemede dikkat edilmesi gereken bir konu, kullanıcı oturumlarıdır. Bir kullanıcının istekleri farklı sunuculara dağılırsa, oturum bilgisi yalnızca tek bir sunucuda saklanıyorsa kaybolur.
Sıkça Sorulan Sorular
Yük dengeleme için kaç sunucu gerekir?
En az iki arka uç sunucu mantıklıdır — biri çökse diğeri devralır. Asıl sunucu sayısı trafiğinize ve erişilebilirlik hedefinize bağlıdır; load balancer'ın kendisi de tek hata noktası olmaması için yedekli kurulabilir.
Yük dengeleme ile CDN aynı şey mi?
Hayır, ama birbirini tamamlar. CDN statik içeriği coğrafi olarak dağıtır; yük dengeleme ise dinamik trafiği birden çok origin sunucuya dağıtır. Büyük sistemler ikisini birlikte kullanır.
Küçük bir site için yük dengeleme gerekli mi?
Genellikle hayır. Tek bir yeterli sunucu çoğu küçük ve orta site için uygundur. Yük dengeleme; yüksek trafik veya kesintisizlik (yüksek erişilebilirlik) kritik bir gereksinim olduğunda anlamlı hale gelir.
KEYDAL hosting çözümleriyle büyüyen projeniz için yük dengeleme ve yüksek erişilebilir mimariler kurun. KEYDAL hosting çözümleri