GENELSunucu

Load Balancing Nedir?

Günümüzde internet aracılığı ile ulaştığımız her modern web sitesi ve web uygulamaları akıllara gelmeyecek kadar fazla trafik oluşturur ve aynı anda çok sayıda müşteri isteğini karşılamaya çalışırlar. Load Balancing, bu isteklerin karşılanmasına yardımcı olur ve web sitesi ile uygulama yanıtlarının hızlı ve güvenli olmasını sağlar.

Load Balancing

Load Balancing, yüksek limitlerdeki ağ trafiğini birden çok sunucu cihaza dağıtarak yüksek trafikli iş yüklerini karşılamak yapılır. Yük dengeleme, iş yükünü eşit bir şekilde yaymak ve uygulama yanıtını iyileştirmek için istemci isteklerini mevcut sunuculara yönlendirir, böylece web sitesi kullanılabilirliğini artırır.

Bir yük dengeleyici, sunuculardan bir önceki adımda konumlandırılır ve istemci isteklerini, hızı ve kapasite kullanımını en üst düzeye çıkaracak şekilde tüm sunucular arasında bir yönlendirici görevi görür. Performansı düşürebilecek hiçbir sunucunun gereğinden fazla çalıştırılmamasını sağlar.  Tek bir sunucu işlevini yitirirse, yük dengeleyici trafiği kalan çevrimiçi sunuculara yönlendirir. Sunucu grubuna yeni bir sunucu eklendiğinde, yük dengeleyici otomatik olarak ona istek göndermeye başlar.

Load Balancing Neden Önemlidir?

Load Balancing Nedir? 1

Load balancing, web sitesine erişmek için kullanılan endpoint cihazlar ile yani bilgisayarlar, tabletler, akıllı telefonlar ile sunucu arasındaki bilgi akışını sürdürmek için gereklidir.

İlk önemli olgulardan biri güvenilirliktir. Bir web sitesi veya web uygulaması, trafik yüksek olduğunda bile iyi bir UX (Kullanıcı Deneyimi) sağlamalıdır. Yük dengeleyiciler, verileri verimli bir şekilde taşıyarak, uygulama teslimi kaynak kullanımını optimize ederek ve sunucu aşırı yüklemelerini önleyerek trafik artışlarını yönetir. Bu şekilde, web sitesi performansı yüksek kalır.

İkinci önemli bir konu ise kullanılabilirlik. Yük Dengeleme önemlidir, çünkü Load Balancer ile ana makineler arasında istekleri aldıklarından emin olmak için periyodik kontrol protokolleri içerir. Ana makinelerden biri arızalıysa, yük dengeleyici isteği diğer kullanılabilir cihazlara yönlendirir.

Yük dengeleyiciler ayrıca sorun çözülene kadar hatalı sunuculara istek göndermez. Bazı yük dengeleyiciler, artan sayıda isteği karşılamak için yeni sanallaştırılmış uygulama sunucuları dahi oluşturabilirler.

Donanımsal ve Yazılımsal Yük Dengeleme

Yük dengeleyiciler tipik olarak iki çeşittir: Donanım tabanlı ve yazılım tabanlı. Donanım tabanlı çözümlerin satıcıları, sağladıkları makineye genellikle özel işlemciler kullanan özel yazılımlar yükler. Web sitenizdeki artan trafikle başa çıkmak için daha fazla veya daha büyük makineler satın almanız gerekir. Yazılım çözümleri genellikle ticari donanım üzerinde çalışır ve bu da onları daha ucuz ve daha esnek hale getirir. Yazılımı seçtiğiniz donanıma veya AWS EC2 gibi bulut hosting ortamlarına kurabilirsiniz.

Yaygın Olarak Kullanılan Yük Dengeleme Algoritmaları

Load Balancing Algorythms

Yük Dengeleyicilerin, karşılaştığı olumsuz durumlar ile ilgili davranış biçimi algoritmalar ile belirlenir. Bu algoritmalardan bazıları şunlardır:

Round Robin: Bu algoritmada tüm sunucuların bir daire içine yerleştirildiği düşünülebilir. İlk istek ilk sunucuya, ikinci istek ikinci sunucuya yönlendirilecek ve döngüdeki son sunucuya ulaşana kadar bu böyle devam edecektir. Bundan sonra herhangi bir istek gelirse, istek ilk sunucuya yönlendirilecek ve yine aynı işlem devam edecektir. Bu algoritma, benzer konfigürasyona sahip sunucularımız olduğunda kullanışlıdır.

En Az Bağlantı Algoritması: Bu algoritmada, bir kullanıcıdan bir istek gelirse, o anda en az aktif bağlantıya sahip olan sunucuya yönlendirilir.

En Az Zaman Algoritması: Bu algoritmada istek, en hızlı yanıt süresine ve en az aktif bağlantıya sahip sunucuya yönlendirilir.

Hashing Algoritması: Bu algoritmada, isteği bazı anahtarlara göre yönlendiririz. Bu anahtar, kullanıcının IP adresi veya istek URL’si veya requestId veya başka bir şey olabilir. Anahtar üzerinde hashing işlemi yapılır ve hashing işleminden sonra istek istenilen sunucuya yönlendirilir.

IP Hashing: Bu algoritmada istemcinin IP adresi bazı hash fonksiyonları ile hashlenir ve istek istenilen sunucuya yönlendirilir.

Serhat Yılmaz

Blog sayfamızda bilişim sektöründe edinmiş olduğum bilgi ve deneyimleri paylaşmaktayız. Yazılarımıza yorumlarınızı katarak bizleri mutlu edebilirsiniz.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu