Load Balancer Nedir? Türleri Nelerdir?
İçindekiler ✓
Sunucunun ağır yükünü dengelemek için load balancer kullanılır. Load balancer nedir, nasıl çalışır? Birlikte öğrenelim.
Sunucular, kullanıcıların isteklerini karşılamak için güçlü özelliklerle donatılıyorlar. İyi özelliklere sahip bir sunucunun çökmesini görmek oldukça zor. Ancak, bir sunucu ne kadar iyi olursa olsun, bazı nedenlerden dolayı sorunlarla karşılaşılabiliyor. Örneğin, bir web sitesine aynı anda çok fazla ziyaretçi girmek istediğinde, sunucu ağır yük altında kalabiliyor.
Bu da sunucuda hatalar oluşmasına sebep olabiliyor. Bu tür sorun yaşayanların kullanabileceği önemli bir teknik mevcut. Load balancer, sunucunun daha verimli çalışmasını sağlayan önemli bir teknik. Bu teknik sayesinde, sunucularda iş paylaşımı yapılarak verimli çalışması sağlanabiliyor.
Load Balancer Nedir? Ne İşe Yarar?
İçeriğimize load balancer nedir sorusunu cevaplamakla başlayalım. Bazı zamanlar sunucularda işlem sayısı beklenmedik derecede yükselebilir. Bu durumda sunucular isteklere yanıt veremez hale gelebilir. Günümüzde bu durum şirketlerin uygulamalarında veya sitelerinde sıkça yaşanabiliyor. Örneğin, popüler bir uygulamanın sunucusu bir anda çok fazla istekle karşılaştığı için ağır yük altında kalabiliyor.
Load balancer ise bu noktada devreye giriyor. Load balancer, birden fazla sunucu ve bilgi işlem kaynağı arasında iş paylaşımı yapılmasını sağlıyor. Bu sayede tüm işlemler tek bir sunucuya yüklenmemiş oluyor. Yük dengeleme yapılarak kaynak kullanımı birçok sunucuya paylaştırılıyor ve bunun sonucunda sunucular daha verimli bir şekilde çalışabiliyor.
Load Balancer Tekniği Nasıl Çalışır?
Load balancer nedir konusuna yeterince açıklık getirdiğimizi düşünüyoruz. Şimdi bu konuyu daha iyi kavrayabilmeniz için nasıl çalıştığından biraz bahsetmemiz gerekiyor. Yük dengeleyicilerin temel amacı, bir yükün tek bir kaynağa binmesini engellemektir. Bu sebeple, bir uygulamada trafik arttığında yük dengeleyici ilk olarak diğer sunucuları kontrol eder.
Daha sonra, trafiği düzgün bir şekilde paylaştırmak için bazı sunucu seçimleri yapar. Böylece, trafik sunucular arasında paylaştırılır ve uygulama sağlıklı bir şekilde çalışmaya devam eder. Yük dengeleme esnasında problemli bir sunucu tespit edilirse sunucular arasından kaldırılabilir. Bu sayede iş paylaşımı sırasında bu sunucu tercih edilmez.
Load Balancer Türleri Nelerdir?
Load balancing nedir ve nasıl çalışır kısımlarının ardından, yük dengeleyici türlerinden bahsetmek istiyoruz. Tercih edilebilecek birden fazla yük dengeleme türü bulunuyor. Bu sayede yük dengeleme işlemi için ihtiyaca göre seçim yapılabiliyor. Bu türleri kısaca ele almak istiyoruz.
Yazılım Yük Dengeleme
Yazılım tabanlı yük dengeleyicilerin genel olarak beyaz kutu sunucularında veya sanal makinelerde çalıştıklarını belirtelim. Çoğunlukla ADC yani Application Delivery Controllers parçası olarak çalışan bu yük dengeleyiciler, esneklik konusunda oldukça avantajlıdırlar. Donanımsal yük dengelemeye karşı daha esnek olan yazılımsal yük dengeleyicilerin, sunuculara fazla ek yük bindirmediklerini de belirtelim.
Donanımsal Yük Dengeleyici
Donanımsal yük dengeleyicilerde fiziksel donanıma ihtiyaç vardır. Sunucular arasında iş paylaştırmak için şirket içi donanım vs. kullanılır. Fiziksel yük dengeleyicilerin maliyeti genel olarak yüksektir. Ayrıca, esneklik konusunda diğer türlere göre biraz daha zayıf kalabilirler. Ancak, donanım tabanlı yük dengeleyiciler yüksek trafiğin üstesinden gelebilirler.
Bulut Yük Dengeleme
Adından da anlayacağınız üzere, bu türde yük dengelemek için bulut altyapısı tercih edilir. Bulut tabanlı yük dengelemede birden fazla çeşit vardır. Bu çeşitler ağ yükü dengeleme, dahili yük dengeleme ve HTTP(S) yük dengeleme olarak karşımıza çıkar.
Ağ yükü dengeleme işleminde ağ trafiğinin yönlendirilmesi için ağ katmanı bilgileri kullanılır. Dahili yük dengelemede ağ yükü dengelemeyle oldukça benzerdir. HTTP(S) yük dengeleme ise oldukça esnektir ve L-7’yi temel almaktadır. Trafik tahsisi kararlarını vermek için yöneticilerin HTTP adresinden gelen bilgileri esas alır.
Sanal Yük Dengeleme
Sanal yük dengelemede özel bir yazılım kullanılır. Bu yük dengeleme yazılımı, bir cihaz aracılığıyla donanımsal ve yazılımsal yük dengelemenin birleştirilmesini sağlar.
Load Balancer Algoritmaları Nelerdir?
Load balancer nedir konusunu daha iyi kavrayabilmeniz için birazda algoritmalarına değinmek istiyoruz.
Hash Algoritması
Bu algoritmada sunucu orijinal IP isteğinin karmasına göre tercih edilir. Bunun sonucunda, tek bir back end sunucusu bir kullanıcının tüm isteklerini karşılamak durumunda kalır.
Least Connections Algoritması
Least Connections algoritmasında, trafik için en az yükü olan sunucu seçilir. Yani bu algoritmanın temel amacı en boştaki sunucuyu seçmektir.
Round Robin Algoritması
Bu algoritmada sunucular trafiği sırayla paylaşırlar. Örneğin, yük dengeleyici tarafından ilk istek için ilk sunucu seçilir. İkinci istek için ise ikinci sunucu seçilir ve sıralama bu şekilde devam eder.
Fixed Weighting Algoritması
Bu algoritmada, en ağır sunucu tüm trafiği yani tüm yükü almaktadır. Eğer bu sunucu başarısız olursa, bu durumda trafik diğer ağır sunucuya yönlendirilir.
Load balancer nedir ve algoritmaları neler gibi konuları sizlere yeterince açıkladığımızı düşünüyoruz. Sunucular arasında sağlıklı iş paylaşımı için kullanılabilen load balancing, bu sayede kullanıcı deneyimini en üst seviyeye çıkartabiliyor.
Özellikle popüler site ve uygulamalar için yük dengeleme işlemi kesinlikle yapılmalıdır. Bu sayede, sunucularda sorun çıkma ihtimali fazlasıyla düşecek ve kullanıcıların deneyimi önemli ölçüde iyileşecektir.