HostMavi

HostMavi Destek Forumu


Yeni Cevap 
 
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Server Ağında Yük Dengeleme Hakkında
08-19-2011, 12:21 AM (En son düzenleme: 08-19-2011 10:27 PM Mavi.)
Mesaj: #1
Server Ağında Yük Dengeleme Hakkında
Yük dengeleme(load balancing) bigisayar ağ iletişim yöntem bilimidir.Yük dengeleme ile birkaç bilgisayar veya bilgisayar kümesi,newtork linkleri,CPU,disk sürücüleri ve diğer kaynaklardaki iş yükü dağılımı yapılır.Yük dengeleme ile Optimal kaynak kullanımı,maksimum iş hacmi,minumum yanıt verme zamanı elde edilir.Yük dengeleme için tek bileşen yerine birçok bileşen kullanmak güvenirliliği artırabilir.Yük dengeleme hizmeti genellikle multilayer switch aygıtı veya Domain Name system server için özel yazılım ve donamın sağlayıcılar tarafından sağlanır.

İNTERNET TABANLI HİZMETLER
------------------------------------
Yük dengelemenin en yaygın bilinen uygulamalarından birisi server grubundan tekli internet hizmeti sağlaması.Yük dengeleme sistemleri popüler websiteleri,büyük Internet Relay Chat ağları, yüksek trafikli File Transfer Protokol siteleri, Network News Transfer Protocol(NNTP) serverleri ve Domain Name System(DNS) serverlerinde kullanılır.Son zamanlarda bazı yük dengeleyicilerde veritabanı desteği geliştirdi.Bunlar veritabanı yük dengeliyiciler olarak bilinir.
Yük dengeleyici genellikle internet servisleri için bir programdır.Bu program harici istemcilerin servislere ulaşmak için kullandığı bağlantı portlarını dinler.Yük dengeleyici gelen istekleri arka uç sunucularından birisine sevk eder.Bu sunucu genellikle yük dengeleyiciye gelen isteğin yanıtını gönderir.Bu durum istemcinin fonksiyon aralıklarını devamlı takip etmesine gerek kalmadan, yük dengelyicinin istemciye bu bilgileri bildirmesine imkan tanır.Yük dengeleyici aynı zamanda istemcilerin arka uç sunucularına doğrudan bağlantı kurmalarına engel olur.Bu engel olma ile dahili ağ yapısının gizlenmesi,ağ yığın çekirdeğine yapılacak saldırının veya bağlantısı olmayan servislerin diğer portlarda çalışmasını engellemesi ile güvenlik açısından faydası vardır.
Bazı yük dengeliyiciler bütün arka uç sunucuların mevcut olmadığı durumlarda özel işlerin yerine getirildiği bir mekanizma sağlar.Bu mekanizma yük dengeliyicinin sunucunun yedekleme yapılmasına sevk edilmesini veya hizmet kesilmesi ile ilgili mesaj gönderilmesinide kapsayabilir.
Yük dengelemeye alternatif bir method, özel yazılım ve donanım devre düğümlerinin gerekli olmadığı "round robin DNS" dir.Bu teknik ile birçok İP adresi tek bir domain'e bağlanır ve istemciler hangi sunucuya bağlanmak istiyorlarsa seçebilirler.Dedicated yük dengelemeye göre kullanımı farklıdır.Bu teknik istemciye birden çok arka uç serverin var olduğunu ortaya çıkarıp, gösterir.Bu tekniğin diğer faydalı veya faydasız yönleri DNS server üzerindeki kontrol derecesine göre ve istenilen yük dengeleme ortalama öğe boyutu göre belirlenir.
Çok etkili diğer yük dengeleme tekniği ise DNS kullanımıdır.Örneğin http://www.hostmavi.com'a ait alt domaine, http://www.hostmavi.com'a hizmet eden DNS serverlerin her biri tarafından hizmet edilir.Bu teknik özellikle çeşitli bölgelere dağılmış kişisel sunucuların internet de iyi çalışmasını sağlar.Örnek olarak :

bir.hostmavi.com İP Adresi 192.0.2.1
iki.hostmavi.com İP Adresi 203.0.113.2
http://www.hostmavi.com NameServer bir.hostmavi.com
http://www.hostmavi.com NameServer iki.hostmavi.com

http://www.hostmavi.com'a ait alan dosyası her bir serverde farklıdır.Öyleki herbir sunucu kendi İP adresini A-kaydı olarak çözer.Sunucuda http://www.hostmavi.com ait " bir " alan dosyası raporu :

@ konumunda 192.0.2.1 dır.

sunucuda " iki " alan dosyası :

@ konumunda 203.0.103.2 dır.

Bu yöntemle bir server çöktüğünde, server DNS hizmeti yanıt veremiyecek ve web servisine hiç bir trafik girişi olamayacaktır.Bir sunucuda eğer hat yoğunluğu olduğunda DNS güvensiz durumu ile sunucuda HTTP trafiğinin daha az arttığını garanti eder.Ayrıca DNS'nin çözücüye en çabuk yanıtı neredeyse her zaman en yakın ağ sunucularının birinden coğrafik duyarlık ve yük dengeleme güvencesi ile verilir.A-kaydı'nda kısa bir TTL ile sunucunun birinde çökme olduğunda trafiğin kısa zamanda diğer sunucuya yönlendirme yapılacağı garantisi verir.Bu teknik kişisel istemcilerin bir oturumda kişisel sunucular arasında
geçiş yapmasının ihtimalinin bulunduğunun hesaba katılması gerekir.
Yük dengeleyici zaman çizelge algoritmalarından birini kullanarak arka uç sunucusunun hangisi olduğunu tanımlamak için sunuculara istek gönderir.Basit algoritmalar rastgele seçim veya round robin içerir.Çok yönlü yük dengeleyiciler ek faktörleri göz önüne alması gerekir.Bu faktörlerin bazıları : Sunucu yük raporlanması,en son yanıt zamanları,çıkma-düşme durumları(aynı tür sorgulamanın izlenmesi ile tanımlanan),aktif bağlantı adedi,coğrafi barınma,kapasiteleri veya en son ne kadar trafik tahsis edildiğidir.Yüksek kapasiteli sistemler birden çok katmanlı yük dengelemeyi kullanabilir.
Yük dengeleyici olarak özel donanım kullanmak yerine, açık kaynak kodlu veya ticari yazılım yük dengeleyici çözümleride kullanılabilir.Bu yazılımların en yenileri Apache Web server için mod_proxy_balancer eklentisi, Varnich veya Pound ters proxy ve yük dengeleyicidir.
Tasarımlar terminolojisinde çok katmanlı bir mimari, bir yük dengelici mimarisinin veya Bowties,Stovepipes gibi mimarileride kapsayan ağ yönlendirici mimarilerin gerisinden takip eder.Bir Stovepipe, işlemi üst katmana yük dengeleyicinin arkasındaki aygıtlar ve yazılıma ait yığın boyunca statik bir yolu takip ederek son hedefine ulaşmasını sağlayan bir yöntem sunar.Eğer Alternatif olarak Bowties kullanılırsa her bir katmanda işlem,belirlenmiş bir katmandaki uygulamalar tarafından hizmet edildikten sonra birçok katmanın herhangi birisinde yol alabilir.İşlem akışları için network diyagramları Stovepipes veya Bowties'e benzerlik gösterir veya karma mimarilerin ihtiyaç duyduğu her bir katman için temel oluşturur.

SÜREKLİLİK
-------------
Önemli bir sorunda yük dengeleme hizmeti faal olduğunda, bir kullanıcı oturumunda birçok isteğin karşısında tutulması gereken bilginin nasıl üstesinden gelineceğidir.Eğer bu bilgi bir arka uç sunucusunda yerel olarak yerleştirildi ise daha sonraki takip eden istekler hangisinde olduğu bulunması mümkün olmayan arka uç sunucularından birisine gidecektir.Bu durum belki yeniden hesaplama için önbellekleme yapmaktan kaynaklanabilir.Yük dengeleyici bir performans sorunu ile henüz karşı karşıya kaldığında, başka bir arka uç sunucudan yardım talep etmesi durumunda biginin yeniden hesaplanabilmesi için önbellekleme yapılır.
Oturum veri sorununa bir çözüm : kullanıcı oturumundaki bütün isteklerin arka uç sunucusuna sürekli olarak gönderilmesidir.Bu yöntem persistence veya stickiness(devamlılık-inatçılık) olarak bilinir.Bu tekniğin önemli dezavantajı yük dağılımının otomatik olarak yapılamamasıdır.Eğer bir arka uç sunucu çöktüğünde herbir oturuma ulaşılamaz olur ve bu sunucuya bağlı olarak çalışan oturumlar otomatik yük dağılımı olmadığından kaybolur.Aynı sorun genellikle merkezi veritabanı sunucuları ile ilgilidir.Web sunucular yapısız ve yapışkan olmasa bile.
Belirli bir sunucuyu kullanıcı ismine ve istemci İP adresine veya rastgele olarak tahsis edilebilir.İstemcilerin adreslerinde değişikliğin farkedilmesi DHCP, network address dönüştürücü ve web proxy'ler sebep olduğundan bu yöntem güven vermeyebilir.Depolamaya külfet yükleyen rastgele tahsisler yük dengeleyici tarafından yapılması gerekir.Eğer yük dengeleyici başarısız veya değiştirilmiş ise bu bilgi kaybolmuş olabilir ve tahsis'in belirli bir zaman periyodundan sonra silinmesi gerekir veya fazla yükleme zaman periyodunda aşırı yüklemeden tahsis tablosundaki geçerli alana göre çekinmek gerekir.Rastgele tahsis metodu istemcilerin aynı durumlarını koruduğunun bilinmesini gerektirir.Bu durum bir web tarayıcının çerezleri depolaması geçersiz yapıldığı gibi durumlarda bir soruna sebep olabilir.Gelişmiş çok yönlü yük dengeleyiciler birden çok süreklilik tekniklerini herhangi bir metodun yetersizliğine engel olmak için kullanır.
Her oturumun verilerini veritabanında tutmanın değer bir çözüm yolu genellikle veritabanına yükleme arttığında performans sorunana sebep olmaktadır.Veritabanda daha kısa süre kalan verilerin depolanması,her oturum verisinin depolanmasına göre daha iyidir.Veritabanını başarısızlığın tek noktası olmaktan korumak ve ölçülebilirliğini artırmak için veritabanı birçok makina boyunca kopyası çıkarılır ve yük dengeleme sorgulama yükünü bu kopyalara dağıtır.Microsoft ASP.NET state server teknolojisi oturum veritabanına bir örnektir.Web çiftliğindeki bütün serverler oturum verisini durum sunucusunda depolar ve web çifliğinde herhangi bir sunucu bu veriye erişip, alabilir.
Neyseki bu konuda etkili yaklaşımlar var.İstemci web tarayıcıyı kullandığı zaman genellikle tarayıcı her oturuma ait veriyi kendisi depolar.Tarayıcı çerezleri zaman mühürleme ve şifrelemeye uygun bir teknik kullanılır.Diğer bir teknikde URL rewriting'dir.İstemciye ait oturum verisinin depolanması tercih edilen çözümdür.Yük dengeleyici böylece herhangi bir arka uç sunucusundan istekleri toplamak zorunda kalmaz.Bunun yanında durum-veri işlem metodu ticari karışık mantık senaryoları için yani veri yük durumu çok büyük olduğunda veya her isteğin sunucuya uygun olup olmadığı anlamak için tekrar hesaplama
durumunda uygun değildir.URL rewriting metodunda ise son kullanıcı URL'yi göndereni kolaylıkla değiştirebildiğinden büyük güvenlik sorunu vardır.Bu durumda oturum akışını değiştirir.

YÜK DENGELEYİCİ ÖZELLİKLERİ
-----------------------------------
Donanım ve yazılım yük dengeleyicilerin ayrıcalıklı özellikleri olan türü vardır.

- Asimetrik Yükleme : Elle yazılarak oran belirlemek bazı arka uç sunucularında diğerlerine göre daha fazla işyükü taşımasına sebep olur.Bu yöntem bazı sunucuların yük kapasite durumunu karşılaştırmak ve arzu edilmeyen kapaside çalışma gibi basit durumlarda kullanılır.

- Öncelikli Devreye Girme : Geçerli sunucuların adedi belirli bir rakamın altına düşerse veya yük değeri çok artarsa yedek sunucular online devreye girip yükü dengeler.

- SSL Yük Düşürme ve Hızlandırma : SSL istekleri için gerekli olan Şifreleme ve kimlik belirleme işlemlerinde web server CPU'ları daha fazla kullanılmasına ihtiyaç duyulmakta ve kullanıcılar artan bu ihtiyaç ile yanıt verme zamanın yavaşladığını farketmektedir.Yük dengeleyici bu fazla istekleri web serverde azaltmak için SSL isteklerini yük dengeleyicide sonlandırabilir.Bazı yük dengeleyici aygıtları SSL işlemleri için özel domanıma sahiptir.Yük dengeleyici SSL bağlantılarını sonlandırdığı zaman HTTPS bağlantısını HTTP bağlantısına web servere gönderilmeden önce çevirir.Yük dengeleyicide bu özellik olduğu sürece son kullanıcı bir performans düşüşü gözleyemez.Bu yaklaşımın dezavantajı bütün SSL işlemleri yeni bir darboğaza sebep olan tek bir yük dengelici aygıtında yoğunlaşır.Bu özelliğin kullanmadığı durumda, SSL aşırı yükü web serverler arasında dağıtılır.Bu sebeplerden dolayı yük dengeleme aygıtlarının fiyatlarının karşılaştırılması gerekir.Fiyatları web server hizmeti için genellikle yüksektir ve genellikle ucuz ticari serverlerde bu özelliğini kullanmaya karar vermeden önce satın alınır.Birkaç web server eklenmesi bir yük dengelici güncellemekten çok daha ucuza gelebilir.Ayrıca Oracle ve Sun gibi bazı server satıcılar bazı modellerine donanım şifreleme hızlandırıcı özelliğini eklemeye başlamıştır.T2000 modeli CPU'nun ağır iş yükünü ve SSL isteklerine yanıt verme zamanını azaltır.Yük dengeleyicideki SSL yükünün düşürülmesinin net bir faydası yük dengeleyicinin yük dengeleme işini yapabilmesine veya HTTPS isteklerinde veriyi temel alan içerik aktarmaya fırsat vermesidir.

- DDos(Distributed Denial of Service) saldırısından koruma : Yük dengeleyicide SYN cockies, delayed-binding(arka uç serverlerin TCP bağlantısı el sıkışma işlemi bitmeden istemciyi göremez) SYN flood saldırısını azaltmak için özellikleri olabilir.Sunuculardan yük boşaltma genellikle en etkili yoldur.

- HTTP sıkıştırma : Bütün modern web tarayıcılarda var olan gzip sıkıştırma ile HTTP nesneleri için transfer edilen veri miktarı düşürülebilir.Daha geniş yanıtlamada ve daha uzaktaki istemci tarafından kullanılan bu özellik yanıt verme zamanını düzene koyar.Sıkıştırma işlemi yük dengeleyicide ek CPU kullanımına sebep olur.Bu özellik web sunucular yerine yük dengeliyicinin yaptığı bir iştir.

- TCP Yük indirme : Farklı satıcılar bunun için farklı terim kullanır.Fakat uygun görüş her istemciye ait her HTTP isteği farklı TCP bağlantısı ile olur.Bu özellik HTTP/1.1'den faydalanarak birden çok istemciden gelen birden çok HTTP isteğini arka uç serverlerindeki tekil TCP soketine yönlenmeyi takviye etmesidir.

- TCP Tampon Bellek : Yük dengeleyici sunucudan gelen istekleri tampon belleğe alarak ve veri çıkışını kaşık besleme yapılarak istemci istek hızı düşürülür.Bu durum sunucuya diğer görevleri yapmasına olanak sağlar.

- Serveri Doğrudan Döndürme : İstek ve yanıtın farklı ağ yolları üzerinde olduğu durumda asimetrik yük dağıtımı için bir seçenektir.

- Sağlık kontrolü : Yük dengeleyici Uygulama katman sağlığı için server havuzu ile oluşturulur ve arızalı,yetersiz serverleri emir vererek devreden çıkarır.

- HTTP Önbellekleme : Bazı isteklerin web sunucu ile bağlantı kurmadan elde edilebilmesi için yük dengeleyici statik içerikleri depolama yapabilir.

- İçerik Filtreleme : Bazı yük dengeleyiciler trafik yolunda isteğe göre ayarlama yapabilir.

- HTTP Güvenliği : Bazı yük dengeleyiciler hata sayfalarını gizleyebilir, HTTP yanıtlarındaki sunucu kimlik bilgilerini silebilir ve şifreli çerezleri son kullanıcılar değiştiremez.

-Öncelikli Kuyruğa alınma : Hızlı şekil verme olarakda bilinir.Farklı trafiklere farklı öncelik verilmesidir.

- İçerik-Farkında'yı Anahtarlama : Pekçok sunucu URL'nin talebini temel alan istekleri farklı sunuculara yönlendirir.

- İstemci Kimlik Doğrulama : İstemci bir web siteye ulaşmadan önce kimlik belirleme kaynaklarının bir türü ile kimlik karşılaştırması yapılır.

- Program ile trafik Hilesi : Özel yük dengeleme metodları, isteğe bağlı trafik hileleri ve başka.... yapılmasını sağlayan script dili kullanılmasına en az bir yük dengeleyici olanak sağlar.

- Güvenlik duvarı : Ağ güvenlik sebebinden arka uç sunuculara doğrudan bağlantı engellenir.

- Zorla girmeyi Engelleme sistemi : Uygulama katmanı güvenliği sunulur ve ilave olarak Ağ/Taşıma katmanı güvenlik duvarı olarak sunulur.

HABERLEŞMEDE KULLANIMI
-------------------------------
Yük dengeleme aşırı yüklü iletişim hatlarında uygulama alanı bulur.Örneğin bir şirket hat bağlantısının birisi çalışmadığı zaman birden çok internet bağlantısı güvencesi ile hattı açık tutmaya çalışır.
Yük üzerinde başarısızlığın düzenlemesinde bir hat normal kullanım için tayin edilir ve ikinci hat ise sadece birinci hat çalışmadığı zaman kullanılır.Bu iki hattın hangisi kullanılırsa yük dengeleme her zaman çalışır durumdadır.Bir aygıt veya program bütün hatların uygunluğunu izler ve paketlerin gönderileceği yolu seçer.Birden çok hattı eşzamanlı olarak kullanmak trafiği uygun olarak artırır.
Birçok telekominikasyon şirketinin kendi ağları veya harici ağlar boyunca birden çok ağ yönlendirmesi vardır.Bu şirketler gelişmiş yük dengeleme çözümleri ile herhangi bir yolda tıkanıklığa meydan vermemek için trafiği bir yoldan diğerine değiştirir ve bazen dış ağlar ulaşım boyunca maliyetleri en alt değere indirebilir veya ağ uygunluğunu artırabilir.
Yük dengelemenin diğer kullanımı ağ izleme faaliyetleri içindir.Yük dengeleyiciler büyük veri akışını alt akışlara bölmek için kullanılır ve birkaç ağ analiz programı ile orjinal verinin her bir okunan parçası analiz edilir.Bu yöntem 10GbE veya STM64 gibi hızlı ağları izlemek için ve bu ağlarda kablo hızı verinin karmaşık olarak işlenmesi için yeterli olmadığı durumlarda çok kullanılır.

YÜK ÜZERİNDE BAŞARISIZLIĞA YAKINLIK
----------------------------------------------
Yük dengeleme yük üzerinde başarısızlık(failover) durumunda sıklıkla kullanılır.Bir veya daha çok servis bileşinin başarısızlığı durumunda servisin çalışmasını sağlar.Bileşenler sürekli izlenir(web server belirli sayfaların kopyalanması ile izlenebilir) ve bileşenin birisi yanıt vermediğinde yük dengelici bilginedirilir ve bu bileşene uzun zaman trafik gönderilmez.Bileşende bağlantı açıldığında, yük dengeleyici bileşene trafik yönlendirmesine başlar.Bu durumun çalışmasına gelince servis kapasitesinde an az bir bileşenin ulaşılabilir olması gerekir.Bir tekil çalışan bileşen, başarısızlık durumunda yönetimi ele alan bir yedekleme bileşeni ile eşleştirilir.Bu yöntem yük üzerinde başarızlığa(failover) göre çok daha ucuz ve daha esnektir.Aynı tür RAID sistemlerde benzer sonuçlarda favori yedekden de faydalanır.

SATICILAR
------------
A10 Networks
ActivNetworks
Array Networks
Astaro
Avaya
Barracuda Networks
Brocade Communications Systems
CAI Networks
Cisco Systems
Citrix Systems
Coyote Point Systems
Crescendo Networks
Double-Take (NSI Product)
Ecessa
Elfiq Networks
Exceliance
F5 Networks
Foundry Networks
Inlab Software GmbH
jetNEXUS
KEMP Technologies
LBL LoadBalancer
Nortel Networks
PineApp
Peplink
PIOLINK
Radware
Resonate
ScaleBase
Stonesoft
Strangeloop Networks
Viaedge load balancer
Zeus Technology
Bu kullanıcıya özel mesaj gönder Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesaji bir cevapta alıntı yap
Yeni Cevap 


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi