Load Balancing, gelen ağ trafiğini sunucuların kullanımına dağıtarak düzenli bir şekilde paylaştırılmak anlamına gelmektedir. Türkçe karşılığı ise; yük dengeleme olarak tanımlanır. Sunuculara dağıtılan ağ sayesinde, uygulamaların güvenliğini daha fazla arttırmış olur. Ayrıca sunuculara dağıtılan ağ ile diğer verilen hizmetlerinde performansını da daha güvenli hale getirmektedir. Böylece iş yükünü birden fazla sunucuya dağıtarak ağ trafiğinin güvenliğini sağlamış olur.
Sunuların aralarında yapılan bu dengeleme sistemine ( Load Balancing),yük dengeleme adı verilmektedir. Load Balancing, sisteme giriş yapan kullanıcıların, kendi aralarında bulundukları gruplarda sunucular arasında belirli kurallara bağlı kalarak ya da eşit olarak dağıtılmasına denilmektedir. Sunucuların Load Balancing kullanmadıkları sürece bağlantıları gerçekleşmez. Bağlantıda sorun veya sıkıntısı oluşması durumunda internet üzerinden erşim sağlanmasına izin verilmemektedir. Ayrıca çok fazla sunucunun birden ağa yüklenmesi de internet üzerinden erişimi yavaşlatmakta ya da erişim sağlanamamaktadır. Bu şekilde sorunların yaşanmaması adına Load Balancing kullanılması zorunlu bir işlemdir.
Load Balancing ile Hangi Trafik Türleri Dengelenebilmektedir?
Load Balancing ile dengelenebilen trafik türleri, HTTP, HTTPS, TCP, UDP dir. Bu dört trafik türü ile Load Balancing ağı kullanıcılara dağıtılarak dengelemektedir.
HTTP: HTTP işletim sistemi ile dengeleme yapılarak gelen istekleri standart şekilde HTTP teknikleri içerisinde uygulanmaktadır.
HTTPS: HTTPS işletim sisteminde ise dengeleme, tıpkı HTTP trafik dengelemede olduğu gibi ilerlemektedir. Her iki dengeleme arasındaki tek fark HTTPS trafik işlemlerinde yer alan şifrelemelerdir.
TCP: TCP dengeleme trafik sistemlerinde diğer trafik dengeleme sistemlerinin, kullanılmadığı yerlerde kullanılmaktadır. HTTP ile HTTPS trafik işletim sistemlerinin kullanılmadığı zamanlarda ise TCP trafik sistemi kullanılmaktadır.
UDP: UDP dengeleme sistemi, yakın zamanlarda eklenen sistemlerden biridir. Böylece UDP sistemi DNS sistemi gibi Load Balancing desteğine eklenerek sisteme kolaylık sağlamaktadır.
Load Balancing Nasıl Çalışır?
Load Balancing çalışma sistemi, uygulama olarak basit bir yapı ile gerçekleşmektedir. Load Balancing sisteminin gerçekleşebilmesi için iki basit işlemden geçmesi gerekir. Sonraki aşamalarda sunucuların bağlanması ile önceden belirlenen kurallara bağlı kalınarak seçim yapılması sağlanmaktadır.
Load Balancing algoritmaları, sayesinde sunucuların hangi yönde trafiğin backling sunucusuna iletilmesi gerektiğini dengeler ve belirler. Bu aşamada en çok kullanılan algoritmalar şu şekildedir.
Raund Robin algoritmaları: Raund robin algoritması ile sunucular sıralı şekilde belirlenmektedir. Bu sıralamalar ile dengeleme trafiğini ayarlayan ve belirleyen algoritmalara denir. Load Balancing, bu listeye göre ilk sıradaki sunucuyu seçerek alt sıralara doğru devam etmektedir. İlerleyen zamanlarda Load Balancing listenin sonuna ulaştığı zaman tekrar başa dönerek yeniden seçmeye devam eder.
Least Connetion algoritması: Bu trafik dengeleme bağlantısı, sunucular arasında en az bağlantıya sahip olanı seçmektedir. Trafiğin dengelenmesi açısından daha az oturumların olduğu zamanlarda least connetion tercih edilerek algoritma düzene sokulmuş olur.
Source IP Hash algoritması: Bu algoritma sayesinde, Load Balancerler, IP adreslerini kimlerin kullanacaklarını belirlemek üzere kullanırlar. Böylece bu algoritma sayesinde sunuculara bağlanan kullanıcıların yeniden aynı sunuculara bağlanması sağlanmış olur.
Load Balancing Neden Kullanılmalıdır?
Load Balancing kullanılma nedeni, sunucuların sürekliliği açısından tercih edilmektedir. Böylece sunucu sürekliliği ve erişebilirliği sağlanmış olacaktır. Böylece dönem içerisinde yaşanması muhtemel sorunlardan olan erişim engeli ya da trafik artışlarıda gecikme gibi sorunlar yaşanmayacaktır. Böylece kullacılar arasında deneyim gerçekleşmiş olur. Kullanıcıların kullanabilecekleri en uygun olan uygulamalar, kullanıcılara yönlendirilir.
Donamım Tabanlı Load Balancing!
Donamın tabanlı Load Balancing kullanıldığı zaman, yüksek performans sağlayarak, çok büyük miktarlarda olan trafik ağlarını, farklı uygulamalarla gelmesi ile güvenli şekilde işleyerek sunuculara geri gönderir. Ayrıca sanallaştırmanın yerleşik özelliklerini, aynı donanımdan faydalanarak bir çok kullanıcının load balancing kullanmasına olanak tanır. Aynı zamanda ise multi- tenant kullanımı sayesinde çok daha esnek hale gelir ve izolasyonu çok daha kolay olarak sağlar.
Yazılımsal Load Balancing!
Yazılımsal Load Balancing, donanımların yerini tutarken, aynı zamanda daha çok işlevsellik ile esneklik olmasını sağlamaktadır. Yazılımsal Load Balancing ağının çalışabildiği sunucular ise, Hypervisor, Linux bare-metal ile container sunucularıdır. Özelleştirmeye bağlı olarak farklı kullanım alanlarının bir çok yerinde kullanılabilmektedir. Donanımsal Load Balancing ağına kıyaslama yapılacak olursa, yazılımsal Load Balancing alandan ve donamısal giderlerden tasarruf edilmesini sağlamaktadır.