Türkçeye yük dengeleme olarak çevrilen load balancing, oluşan ağ trafiğinin sunucular arasında paylaştırılmasını sağlayan bir işlem olmaktadır. Bu işlem sayesinde uygulamaların, sitelerin ve diğer hizmetlerin performansı ve güvenliği artmaktadır. 

Sistemi kullanan kullanıcılar load balancing sayesinde belirli bir sunucu grubuna eşit veya belirli gruplar çerçevesinde dağıtılmaktadır. Veri tabanı ile uygulama arasında oluşan bu işlemlere ise load balancer adı verilmektedir. 

Eğer load balancing kullanılmıyorsa o zaman tek bir sunucuyla bağlantı gerçekleştirilir. Bu sunucunun üzerinde herhangi bir arıza olması durumunda ise web sitesine erişim sağlanamaz. Diğer bir yandan çok fazla kişinin web sitesine ulaşmaya çalışması web sitesinin yavaşlamasına sebep olmaktadır. Web sitelerinin bu tür olaylar yaşamasını engellemenin tek yolu ise load balancing işlemidir.


Load Balancing Nasıl Çalışır?

Basit bir çalışma prensibine sahip olan load balancing iki aşamadan oluşmaktadır. Bu aşamalardan ilkinde sunucuların isteklere cevap verip vermeyeceğinin kontrolü sağlanmaktadır. İkinci aşamada ise daha önceden belirlenmiş olan kurallara uygun olarak iletimin tamamlanması için sunucular arasında seçim yapmasıdır. 


Load Balancing İle Hangi Trafik Türleri Dengelenmektedir?

Load balancing 4 farklı türde trafiği dengelemektedir. Bu trafik türleri ise şunlar olmaktadır.


HTTP

HTTP dengeleme işleminde load balancing işlemleri HTTP tekniklerine uygun bir şekilde yönlendirilmektedir. 


HTTPS

Load balancing işlemleri HTTP’de olduğu gibi ilerlemektedir. Ancak HTTPS’de şifreleme süreci daha farklı olmaktadır.


TCP

HTTP ve HTTPS kullanmayan uygulamalar için TCP dengeleme işlemi uygulanmaktadır.


UTD

Yakın bir dönemde desteklenmeye başlanılan UTD, DNS kullanan internet protokolleri için olmaktadır.


Load Balancing Algoritmaları

Load balancing algoritmaları trafiğin nasıl yönlendirileceğini ve hangi sunucuya ulaştıracağını belirlemektedir. Temel olarak kullanılan load balancing algoritmaları ise şunlar olmaktadır.


Round Robin

Bu algoritmada sunucular sıralı olarak seçilmekte ve kurala göre trafik düzenlenmektedir. Bu algoritma ile load balancing istek listesinde bulunan ilk sunucuyu seçer ve listede altlara doğru devam eder. Sıranın en sonuna geldiğinde ise yeniden ilk sıradaki sunucuya döner.


Least Connection

Bu algoritmada en az bağlantıya sahip olan sunucu seçilmektedir. Uzun oturumların bulunduğu trafikler için bu algoritma önerilmektedir. 


Source IP Hash

Bu algoritmadaki yöntem ise load balancing’in istemci IP’nin hangi sunucuyu alacağını belirlemektedir. Bu algoritma sayesinde belirlenmiş olan ziyaretçiler sürekli olarak aynı sunucuya bağlanmaktadır.


Neden Load Balancing Kullanılmalıdır?

Load balancing sayesinde sunucular ile iletişim en üst seviyeye çıkmaktadır. Bu sayede de sunucular ile kesintisiz bir iletişim sağlanmaktadır. Diğer bir yandan dönemsel olarak görülen trafik sıkışmalarının da önüne geçerek sitelerin hızlarının yavaşlamasının önüne geçmektedir. Load balancing’in sağladığı bu avantajlar sayesinde de çok daha iyi bir kullanıcı deneyimi yaşanmaktadır.


Donanım Tabanlı Load Balancing

Yüksek performanslı cihazlarda kullanılan donanım tabanlı load balancing, farklı uygulamalardan gelen trafiği güvenli bir şekilde işlemesinin yanı sıra aynı donanım ile birden çok load balancing kullanılabilmektedir. Bunu sağlayan ise yerleşik sanallaştırmadır.


Yazılımsal Load Balancing

Yazılımsal load balancing’ler ise donanım tabanlı load balancing’lerin yerini tutmasının yanında daha fazla işlevsel olmaktadır. Özelleştirilebilir olması sayesinde farklı senoryalarda kullanılabilmektedir. Diğer bir yandan yazılım tabanlı load balancer’lar, donanım tabanlı load balancer’lara göre hem donanım giderlerinde hem de alanda tasarruf sağlamaktadır.