Citrix NetScaler Uygulama Dagitimi Cozumleri
     

PERFORMANS / Devamlılık - Yük Paylaşımı (L7)


Yük Paylaşımı & Devamlılık
Load Balancing (Layer 4) & Failover

Tanım olarak yük paylaşımı, bir sunucunun tek başına yapması gereken iş miktarını iki ve ya daha fazla sunucuya paylaştırarak aynı zaman diliminde daha fazla veri sunabilmek ve dolayısıylada kullanıcıların daha hızlı yanıt almasını sağlamaktır. Yük paylaşımı donanımsal, yazılımsal ve ya bazen her ikisinin kombinasyonu ile gerçekleştirilebilir.

Genel olarak yük paylaşımının ciddi miktarlarda trafik üreten web sitelerinin yükünü hafifletmek amacıyla kullanılması gereken bir çözüm olduğu yönündeki düşünceler bu konudaki yaklaşımlardan sadece bir tanesini oluşturur. Çünkü yük paylaşımın yanıt sürelerini düşürüp sunucu başına düşen yükü azaltarak performansta artış sağlamasından belkide daha önemli bir sorunu çözdüğü göz önünde bulundurulmalıdır. Tek bir sunucuya bağlı web dahil herhangi bir servisin beklenmedik bir donanımsal ve ya yazılımsal hata oluştuğunda kesileceği ve sorun giderilene kadar o servise bağlı tüm diğer servislerin aksayacağı ve ya duracağı, hatta ciddi ekonomik kayıplara sebep olacağı (Ör: E-Ticaret siteleri) muhakkaktır. Bunun yanı sıra zorunlu bakım/onarım ve ya periodik yeniden başlatma (restart) gibi yönetimsel (administrative) müdahalelerde de tek sunucu ile yürütülen servisin aynı şekilde kesileceği düşünüldüğünde aslında yük paylaşımının performans odaklı yaklaşımın aksine devamlılık odaklı yaklaşımla ele alınması gerektiği anlaşılabilir. İki ve ya daha fazla sunucu ile gerçekleştirilecek yük paylaşımı sözünü ettiğimiz beklenmedik arıza, planlanmış bakım ve onarım çalışmalarında öncelikle hizmetin devamlılığını garanti ettiği gibi bir taraftan servisin kalitesinide standartların üzerinde tutacaktır.

Sunucuya yöneltilen her bir isteği sırasıyla alan adı sistemi (DNS) tablosu içerisindeki farklı host adresine yönlendirme olarak tabir ettiğimiz round-robin yöntemi geleneksel yük paylaşımı metodlarından bir tanesidir. Ancak günümüzde yük paylaşımı sadece gelen istekleri sırasıyla paylaştırmak işleminden daha anlamlı ve verimli algoritmaları  içerir. Yük paylaşımını gerçekleştirecek olan cihaz, arkasında yer alan ve yükü paylaştıracağı sunucuları Ping, TCP, URL ve ECV bağlantıları ile sürekli olarak kontrol ederek servise uygun olmayanları yük paylaşımı listesinden çıkarır. Ayakta ve sorunsuz çalışmakta olanlarına ilişkin ise en az paket (Least Packets), en az bantgenişliği (Least Bandwidth), en az bağlantı (Least Connections), en uzun canlı kalan (Long Lived), yanıt verme süresi (Response Time), hashing (URL, Domain, Source IP, Destination IP, Custom ID) değerlerini tartarak hangisinin servise ne derece elverişli olduğunu göz önünde bulundurmak suretiyle paketleri yönlendirmede takip edeceği politikayı belirler. Yük paylaştırıcı cihazlarda başından sonuna dek sağlık kontrolü ve yük paylaşımı otomatize edilmiş olup insan müdahalesine gerek kalmaksızın yürütüldüğü için servis dışı kalan bir sunucu tekrar servise hazır hale geldiğinde onu otomatik olarak devreye alır ve onun servis ortalamalarında gerçekten hizmete hazır olduğuna emin olana kadar ona daha az paket yönlendirerek ısınmasına yardımcı olur (warming up procedure).

Yük paylaşımı genellikle aynı lokasyon ve ağ bölgesinde gerçekleştirilen bir çözüm olmasına rağmen çok geniş ölçekli servis ve uygulamalarda farklı coğrafi bölgelerde konuçlanmış sunucular arasında da gerçekleştirilebilir. Örneğin Netscaler Application Switch GSLB (Global Server Load Balancing) özelliği sayesinde istekler en yakındaki bir başka coğrafi lokasyona transparan bir biçimde yönlendirilerek servis ve uygulamanın  devamlılığı ve performansı daha geniş bir alanda  sağlanmış olur.

Bugün özellikle kritik servis ve uygulamalarda meydana gelecek kesintiler maddi olduğu kadar itibar kayıplarınada yol açtığından yük paylaşımı bir ihtiyaçtan çok gereklilik halini almıştır diyebiliriz. Sektörde sık karşılaştığımız bir yaklaşımı örnek olarak sunmak yerinde olacaktır; finansal ve operasyonel nedenlerle bir yük paylaşımı çözümünü  erteleyerek sunucular üzerinde oluşturulan RAID sistemlerin büyük bir ölçüde devamlılık için yeterli bir önlem olduğu inancını benimsemek, bunun networksel bir erişim devamlılığı, stabilite ve ya performans sürekliliği anlamına geldiği değil sadece veri depolama ve kullanma sürekliliği olduğunu görmezden gelmek demektir. Zaman zaman kritik noktalarda hizmet veren sunucuların anakart, RAID controller, SCSI controller, NIC (Network Interface Card), Güç Ünitesi hatta üzerinde çalışan işletim sistemi gibi  hayati parçalarından herhangi bir tanesinin aniden arızalanması sanıldığı kadar küçük bir ihtimal değildir.


 






   Başkasının Göremediğini Görebilmek

 

   
 

secretflow TECHNOLOGIES bir Anıl A.Ş. Girişimidir.    © Copyright 2006  Tüm Hakları saklıdır.