Yanlış bir yatırım: Yük dağıtıcıları-dengeleyicileri

Son zamanlarda load balancer cihazlarını giderek daha fazla görür, duyar oldum. Bunlar çoğunlukla çok pahalı ve çok karmaşık cihazlar. Böyle oldukları yetmezmiş gibi yine çoğunlukla küme (cluster) şeklinde çalıştırılıyorlar, böylece masrafları ve maliyetleri daha da artıyor.

Ben load balancer cihazlarının genelde gerekmediğini düşünüyorum. Bunların yaptıklarını DNS’de Round-robin (döndürerek yanıt verme) mekanizmasıyla yapabiliriz.

DNS’deki Round-robin mekanizmasını örnekle açıklayayım:

DNS sunucuda bir bölge (zone) yarattığımızı düşünelim. Adı da Anadolu.com olsun.

Anadolu.com altında şu kayıtlar bulunsun:

www 199.25.37.58

www 212.67.134.76

www 156.50.45.67

Bu durumda, DNS sunucu kendisine gelen http://www.anadolu.com/ sorgusuna hangi IP adresini döndürür?

DNS sunucuda round-robin mekanizması etkinse (varsayılan olarak etkindir), DNS sunucu bu sorguya karşılık olarak üç IP adresini de döndürür ama belli bir sırayla. Örneğin, ilk sorgu geldiğinde, yanıt olarak, (199.25.37.58, 212.67.134.76, 156.50.45.67) yanıtını döndürür. İkinci sorguya (212.67.134.76, 156.50.45.67, 199.25.37.58) yanıtını döndürür, üçüncü sorguya karşılık da (156.50.45.67, 199.25.37.58,212.67.134.76) yanıtı verilir. Dördüncü sorguda tekrar başa dönülür, (199.25.37.58, 212.67.134.76, 156.50.45.67) yanıtı verilir.

İstemciler http://www.anadolu.com/ için üç adresi de alır ama listedeki ilk IP adresini kullanma eğilimindedir. Bu nedenle, birinci istemci ilk IP adresine, ikincisi ikinci IP adresine, üçüncüsü üçüncü IP adresine gider. Dolayısıyla yük dağılımını ya da dengelemesini yapmış oluruz.

Bu sistemin bir dezavantajı vardır; DNS’deki round-robin aptal bir mekanizmadır. Döndürdüğü IP adreslerine sahip makinelerin ayakta olup olmadığını, ayaktalarsa üzerlerindeki yükü bilmez, buna göre işlem yapamaz. Load balancer cihazları ise sürekli olarak arkalarındaki makineleri ve üzerlerindeki yükü takip eder, istemcileri buna göre dağıtırlar. Ayrıca, gelen istekleri analiz edip bunları optimize etme yeteneğine de sahiptiler.

Ama acaba DNS’deki round-robin’in aptal olmasının bir kötü yanı var mı? Sunucularımız ne kadar zamanda bir çöküyor ki? Daha gelişmiş, karmaşık, pahalı bir cihaz almamız gerekir mi?

Üstelik, özellikle optimizasyon konusu çok şaibeli bir konudur. Web teknolojileri kadar hızlı gelişen, karmaşık bir alan daha yok. Aldığımız cihaz nasıl olacak da bu karmaşıklığı optimize edecek? Bu karmaşıklığın kendisi de sorun kaynağı değil mi?

Bu açıkladığım nedenlerle, ancak hürriyet.com.tr, sabah.com.tr gibi her gün milyonlarca hit alan yerler dışında, yük dengeleyici cihazlara yer olduğunu düşünüyorum.

Satıcıların propagandasına kanmayalım, boşu boşuna load balancer’lara para harcamayalım.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s


%d blogcu bunu beğendi: