Load Balancing (Yük Dengeleme)

Dağıtık sistemlerdeki bir diğer önemli bileşen ise Yük Dengeleyici(LB)’dir. Bu, uygulamaların, web sitelerinin veya veri tabanlarının yanıt verebilme ve kullanılırlıklarını geliştirmek amacıyla trafiği bir küme servera yaymaya yardımcı olur. LB ayrıca istekleri dağıtırken tüm kaynakların durumunu da takip eder. Bir server yeni istekler alamıyorsa, yanıt veremiyor veya hata oranı artmış haldeyse, LB böyle bir servera trafik göndermeyi durdurur.

Tipik olarak bir LB istemci, gelen networku ve uygulama trafiğini kabul eden ve trafiği farklı algoritmalar kullanarak farklı arkayüz servera dağıtan server arasında yer alır. Uygulama isteklerini farklı serverlar ile dengeleyerek bireysel server yükünü azaltır ve bir uygulama serverının tek arıza noktası olmasının önüne geçer ve böylelikle uygulamanın total kullanılırlık ve yanıt verebilmesini iyileştirir

image

Tam ölçeklenebilirlik ve fazlalıktan yararlanmak için, sistemin her katmanındaki yükü dengelemeyi deneyebiliriz.

Üç yerde LB kullanabiliriz:

Kullanıcılara daha hızlı ve müdahalesiz servis sağlar. Kullanıcılar yoğun çalışan bir serverın önceki işlerini bitirmesini beklemek zorunda kalmaz. Bunun yerine istekleri o esnada kullanmaya hazır başka bir kaynağa iletilir. Servis sağlayıcılarında daha az aksama süresi görülür ve ortaya daha fazla iş çıkar.LB çalışmayan bir serverı hatasız bir servera ileteceği için tamamen çalışmayan bir server dahi son kullanıcıya etki etmeyecektir.

Farklı ihtiyaçlara dönük olarak farklı algoritmalar kullanan birçok yük dengeleme yöntemi mevcuttur.

image

Yük dengelemenin birçok yöntemi bulunmaktadır.