Web site ve uygulama sahipleri/meraklıları load balancer kavramıyla karşılaşıp load balancer nedir sorusunu sorabilmektedirler. Load balancerlar belirli bir trafiğe erişildikten sonra kullanılması ihtiyaç haline gelmektedir. Sunucularınız trafik nedeniyle aşırı yük altında kalmıyor olsa bile Load balancer’ı şimdiden öğrenmenizde fayda var. Çünkü trafik her zaman belirli bir hızda artmayabilir, anlık patlamalar yaşanarak normal trafiğinizin %1000 fazlasını alabilirsiniz.
Load Balancer Nedir?
Load balancer kelimesinin Türkçe karşılığı yük dengeleyicidir. Görevi yoğun trafiğe sahip web sitelerindeki trafiği dengelemek, sunucularda meydana gelebilecek sıkışıklığı önlemektir. Load balancer, belirli algoritmalara göre birden fazla sunucu arasından en uygun durumdakine ziyaretçiyi yönlendirir. Yönlendirme işleminde genellikle en az trafiğe sahip olan sunucu tercih edilir. Yönlendirme için belirlenen farklı kurallarda (algoritma) mevcuttur. Sadece web sitelerinde değil, uygulama ve veritabanı gibi yapılarda da load balancer kullanımı söz konusudur.
Load Balancer Neden Kurulmalıdır?
Load balancer nedir sorusunun yanıtını öğrenmiş fakat hala neden kurulması gerektiğini anlamamış olabilirsiniz. Bir web siteniz olduğunu düşünün. Ziyaretçiler bu web sitesine girdiğinde yalnızca bir sunucuya istek gönderirler. Eğer sunucu gelen trafiği kaldırabilecek kapasitede değilse veya sunucuda bir arıza meydana gelmişse sunucu yanıt veremeyecektir. Dolayısıyla ziyaretçi web sitesine girdiğinde hata alacak ve web sitesini terk edecektir. Bu durum ziyaretçi kaybı ve ticari web siteleri için maddi kayıp demektir.
Load balancer kurulduğunda ise tek bir sunucu yerine birden fazla sunucu(sunucu grubu) olur. Fiziksel ve yazılımsal arızalarda veya trafiğin çok yoğun olduğu durumlarda sunucular arasında trafik paylaştırılır yani web sitesinin işleyişi sorunsuz bir şekilde devam eder. Bu sebeple ziyaretçi kaybı ve maddi kayıp önlenmiş olur.
Load Balancer Çalışma Mantığı Nasıldır?
Load balancer istemciyi sunucuya yönlendirmeden önce ilk olarak sunucuların isteklere cevap verebilecek durumda olup olmadığına bakar. İsteğe yanıt verebilecek durumda olanlar için belirlenen algoritmaya göre istemci yönlendirilir.
Load Balancing Algoritmaları Nelerdir?
Yaygın olarak bilinen 3 ayrı load balancing algoritması bulunmaktadır. Elbette bu algoritmalardan bağımsız bir biçimde ihtiyaca göre spesifik bir yük dengeleme sistemi de tasarlanabilir.
- Source (IP Hash) algoritması ile IP adreslerine göre iletim sağlanır. Bu algoritmada yük dengeleyici, aynı IP adresini devamlı olarak aynı sunucuya iletmekle görevlidir.
- Least Connections algoritmasında en az trafiği alan sunucu tercih edilir. A sunucusunda 200 bağlantı, B sunucusunda 350 bağlantı ve C sunucusunda 325 bağlantı varsa, yük dengeleyici A sunucusuna yönlendirme yapacaktır.
- Round Robin algoritması ise oldukça basittir. Sıralama mantığı ile çalışır. İlk önce ilk sunucuya daha sonra sıradaki sunucuya iletimi sağlar.
Load balancer nedir konusunu herkes rahatlıkla anlayabilir. Web sitelerinin, uygulamaların veya diğer platform ve yapıların yoğun istek veya güncelleme/arıza/bakım gibi durumlarda kesinti olmadan işleyişine devam edebilmesini sağlayan bir yapıdır. Nginx gibi yazılım tabanlı yük dengeleyiciler olduğu gibi fiziksel bir cihaz şeklinde de yük dengeleyici kullanımı mümkündür. Uzmanlar ise fiziksel yük dengeleyicilerin daha performanslı olduğunu söylemektedirler.