Ana içeriğe geç

Yük Dengeleyici

İngilizcesi
Load Balancer
Okunuşu
lod belınsır

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/load-balancer

Kısaca

Yük dengeleyici, gelen trafiği birkaç arka uç sunucuya dağıtan bir sunucu ya da hizmettir; hiçbir sunucu aşırı yüklenmez ve uygulama erişilebilir kalır.

Yük dengeleyici nedir?

Yük dengeleyici, bir sunucu grubunun önünde durur ve gelen her isteği hangisinin karşılayacağına karar verir. İşi dağıtarak bir uygulamanın tek bir sunucunun kaldırabileceğinden daha fazla kullanıcıya hizmet vermesini sağlar; bir sunucu arızalandığında ya da bakım için devre dışı bırakıldığında da uygulamanın erişilebilir kalmasını sağlar.

Yük dengeleyiciler sunucuyu round robin (her sunucu sırayla), least connections (en az meşgul sunucu) ya da istemcinin IP adresinin hash'i gibi bir algoritmayla seçer; hash yöntemi aynı kullanıcının hep aynı sunucuya ulaşmasını sağlar. Ayrıca sağlık kontrolleri yapar: her arka uca düzenli test istekleri gönderir ve yanıt vermeyi bırakan sunucuyu otomatik olarak devreden çıkarır. Katman 4 yük dengeleyici trafiği yalnızca IP adresleri ve portlar üzerinden yönlendirir; katman 7 yük dengeleyici ise HTTP'yi anlar ve URL yoluna, başlıklara ya da cookie'lere göre yönlendirme yapabilir.

Birkaç kasa hattı olan ve her müşteriyi en kısa kuyruğa yönlendiren bir görevlinin bulunduğu bir süpermarketi düşünün; bir kasa kapanırsa müşteriler diğerlerine yönlendirilir. Yük dengeleyiciler özel donanım cihazları, NGINX, HAProxy ve Envoy gibi yazılımlar ya da bulut sağlayıcılarının yönetilen hizmetleri olabilir. Kubernetes'te LoadBalancer türündeki bir Service, platformdan pod'larınızın önünde bir tane oluşturmasını ister.

Yük dengeleyiciler sıklıkla reverse proxy'lerle karıştırılır. Reverse proxy, arka uç sunucular adına istek alan herhangi bir sunucudur ve bu istekleri birkaç arka uca dağıtmak yapabileceği işlerden yalnızca biridir; bu yüzden NGINX gibi araçlar çoğu zaman her iki rolü aynı anda üstlenir. Ancak bazı yük dengeleyiciler yalnızca ağ düzeyinde çalışır ve içlerindeki HTTP isteklerini okumadan bağlantıları iletir.

Bir bakışta

Üç istemci isteklerini bir yük dengeleyiciye gönderir; yük dengeleyici bunları 1 ve 3 numaralı sunuculara dağıtır, sağlık kontrolünde başarısız olan 2 numaralı sunucuyu atlar.İstemciİstemciİstemciYük dengeleyiciround robinSunucu 1Sunucu 2sağlık kontrolü başarısızSunucu 3
Yük dengeleyici istekleri sağlıklı sunuculara dağıtır, arızalanan sunucuyu otomatik olarak rotasyondan çıkarır.

Önemli noktalar

  • Yük dengeleyici, istekleri birden çok sunucu arasında dağıtır.
  • Sağlık kontrolleri, arızalanan sunucuları otomatik olarak rotasyondan çıkarır.
  • Yaygın algoritmalar arasında round robin, least connections ve IP hash bulunur.
  • Katman 4 dengeleme IP adreslerini ve portları kullanır; katman 7 HTTP'yi anlar.
  • Yük dengeleme, yatay ölçeklemeyi ve yüksek erişilebilirliği mümkün kılar.

Örnek

NGINX ile üç uygulama sunucusunun yükünü dengelemeknginx
# The pool of backend servers that share the traffic
upstream app_servers {
    least_conn;              # send each request to the least busy server
    server 10.0.0.11:3000;
    server 10.0.0.12:3000;
    server 10.0.0.13:3000;
}

server {
    listen 80;
    location / {
        proxy_pass http://app_servers;
    }
}

Sık sorulan sorular

Yük dengeleyici ile reverse proxy arasındaki fark nedir?

Reverse proxy istemci isteklerini kabul eder ve arka uç sunuculara iletir; çoğu zaman önbellekleme, sıkıştırma ya da TLS sonlandırma ekler. Yük dengeleyici ise trafiği birkaç arka uca dağıtmaya odaklanır; birçok reverse proxy yük dengeleme yapabilir ve birçok yük dengeleyici de reverse proxy gibi davranır.

Sticky session nedir?

Sticky session (oturum yakınlığı), yük dengeleyicinin aynı kullanıcıdan gelen tüm istekleri, genellikle bir cookie'ye ya da istemcinin IP adresine dayanarak, aynı arka uç sunucuya göndermesi demektir. Sunucular oturum verisini bellekte tuttuğunda işe yarar, ancak oturumları paylaşılan bir önbellekte ya da veritabanında saklamak daha iyi ölçeklenir.

Yük dengeleyicinin kendisi arızalanırsa ne olur?

Tek bir yük dengeleyici tek arıza noktası olabilir; bu yüzden canlı ortamlarda genellikle iki ya da daha fazlası, paylaşılan bir yüzen IP adresiyle ya da sağlıklı olanlara işaret eden DNS kayıtlarıyla birlikte çalıştırılır. Yönetilen bulut yük dengeleyicileri bu yedeklemeyi otomatik olarak halleder.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar