Sempeak Logo
Yükleniyor...
Close
...
Load Balancer Nedir?
Load Balancer Nedir?

Yük Dengeleyici (Load Balancer)

 

Load Balancer Nedir?

Load Balancer Genel

Başarıyı hedefleyen internet siteleri, yayınlandıkları günden itibaren stabil çalışan ve devamlı ulaşılabilen bir davranış göstermelidir. Bir internet sitesi, gelen trafik ne kadar büyük hacimde olursa olsun istekleri karşılayabilmelidir ki kitlesine doğru şekilde hizmet verebilsin. Yeni yayınlanan bir internet sitesinin trafiği doğru hedef kitleye ulaştıkça artış gösterir ve bu trafik artışı internet sitesi için yeni ihtiyaçlar ortaya çıkarır. Sitenin içinde bulunduğu sunucu donanımsal olarak gelen trafiği kaldıramayabilir, gelen trafik de sınırlandırılamayacağı için siteyi birden fazla sunucu üstünde çalıştırma yoluna gidilebilir. Sunucuların donanımsal özellikleri birbirlerinden farklı olabilir, sayıları 1’den 10’lara çıkabilir, sunucuların bazıları fiziksel bazıları da sanal olabilir ve en önemlisi sunucularda güncelleme işlemleri yürütülebilir. Birden fazla sunucu üstünde hizmet veren bir internet sitesine gelen trafiğin hangi sunucuya ve neye göre yönlendirileceğini belirleyen unsur yük dengeleyicidir (load balancer). Yük dengeleyiciler internet sitesinine gelen isteğe hangi sunucunun cevap vereceğine belirli algoritmalar dahilinde karar verir ve gelen trafiği bu karar doğrultusunda bir sunucuya yönlendirerek web sitelerin verimliliğini arttırır.

Load Balancer'a Genel Bakış




Load Balancer Kullanımına Neden İhtiyaç Duyulur?

İnternet sitelerinin birden fazla sunucu üzerinde çalışabilir olması gelen isteklerin hepsine cevap verilebilmesine imkan vermesinin yanında gelen isteğe hangi sunucunun cevap vereceği sorgusunu da beraberinde getirmiştir. Load balancer, siteye gelen yükü sunucular arasında belirli algoritmalar ışığında dağıtarak aşırı yükleme problemine çözüm sağlar. Öte yandan load balancer, sadece gelen trafiği dağıtmakla kalmaz, bağlı bulunduğu sunucu grubundaki sunucuları devamlı şekilde kontrol ederek isteklere yanıt vermeyen problemli sunuculara trafik yönlendirmesi yapmaz. Uygunluk kontrolü denen bu işlem siteye gelen her isteğin cevaplanabilmesini sağlar ve sunucu kaynaklı problemlerin yaşanmasını engeller. Girmek istenilen sitenin üstünde bulunduğu sunuculardan biri veya birden fazlası çalışmıyorsa load balancer sayesinde istemcilere  fark ettirilmez. 

Load balancer sunucu grubunda yürütülecek uygulama güncellemelerinin de sağlıklı ve kesinti yaşanmadan hayata geçirilmesini sağlar. Sunucu grubundaki tüm sunucuların sırayla güncellenirken güncellenme işlemi devam eden sunucuya trafik yönlendirilmeyerek güncellenme işleminin kesinti yaşanmadan yapılmasına imkan sağlar. Tıpkı çalışmayan sunucunun istemciye yansıtılmadığı gibi sunucu grubundaki uygulama güncelleme işlemi de istemciye yansıtılmaz.

 

Load Balancer Çalışma Prensibi

Load balancer, heryerde benzetildiği gibi yoğun trafiği yöneten bir trafik polisi gibi düşünülebilir. devamlı akıcı trafikli bir yolun ayrım noktasındaki bir trafik polisi gibi gelen trafik unsurunu aynı hedefe çıkan farklı yollara yönlendirerek yollardaki trafik yoğunluğunu azaltır. Azalan trafik yoğunluğuyla beraber trafik akışı hızlanır ve daha verimli hale gelir.

Load Balancer Çalışma Prensibi

Load balancer fiziksel bir donanım olabildiği gibi son dönemlerde artmış olduğu şekilde yazılım formunda da olabilir. Daha önceki yazıda bahsi geçen Nginx Web Server’ın kendi bünyesinde barındığı load balancer yazılım formundaki load balancer’lar için bir örnek olarak gösterilebilir. (Önceki yazıya buradan ulaşabilirsiniz.)

 

Yük dengeleme işlemi modern uygulamalar (internet siteleri) için vazgeçilmez bir noktadadır. Bu durum, gelen her türlü yükün dengeli bir şekilde dağıtılabilmesi gerekliliğini ortaya çıkarır. Yük dengeleyiciler HTTP, HTTPS,, UDP ve TCP gibi trafikleri dağıtabilmektedir.

 

Yük Dengeleme Algoritmaları

Yük dengeleyiciler siteye gelen trafiği rastgele dağıtabildiği gibi belirli durumlar için çeşitli yük dengeleme algoritmalarından en uygun olanını uygulayarak da yük dengeleme işlemini gerçekleştirebilirler. Birbirlerinden türeyen bir çok algoritmadan bahsedilebilir ama temelde bu algoritmaları şu şekilde sıralayabiliriz:

 

Least Connection Method: Trafiği en az aktif olan sunucuya yönlendirir. Sunucu havuzunda kalıcı bağlantı sayısı dengeli şekilde yerleşim göstermediği zaman en ideal metod olarak kullanılır. 

 

Round Robin Method: Trafiği, sunucu havuzundaki tü sunuculara sırasıyla dağıtarak sunucular arasında bir döngüyle eşit dağılım sağlar. Sunucu özellikleri eşit ve kalıcı trafik yoğunluğu az olduğu durumda en ideal metod olarak kullanılır.

 

Source IP Hash: İstemcilerin IP adreslerini birer sunucuyla eşleyerek aynı IP’den gelen istekleri devamlı aynı sunucuya yönlendirir. 

Paylaş
Popüler Yazılar Popüler Yazılar