Load balancing pro rovnoměrné zatížení

Ke klíčovým součástem clusterových instalací se řadí mechanismy pro tzv. "load balancing" (vyrovnávání zátěže)....


Ke klíčovým součástem clusterových instalací se řadí mechanismy pro tzv. "load
balancing" (vyrovnávání zátěže). Ty přímo ovlivňují efektivitu clusterů a
jejich odolnost proti výpadkům jejich úkolem je optimalizace síťového výkonu
pro zajištění dostupnosti i v době špičkového provozu.
V mnohých firmách dnes sázejí na systémy označované jako serverové farmy.
Několik různých počítačů zajišťuje dodávku téže služby, díky čemuž zůstává
poskytovaná služba dostupná i v případech plánované odstávky či nečekaného
výpadku některého ze serverů. Ať už má však výpadek jakoukoliv příčinu, vždy
ovlivní celkovou výkonnost systému. Kromě toho nemusejí být přicházející dotazy
rozdělovány mezi jednotlivé servery inteligentně, takže většina požadavků na
systémové zdroje může přicházet přednostně na některý ze serverů clusteru, čímž
dochází nehospodárnému využívání instalované výpočetní kapacity. Řešením je
load balancing: Nejdůležitějším úkolem tohoto mechanismu je zajistit efektivní
a rychlý přístup k informacím. Mechanismy pro vyrovnávání zátěže dokáží
optimalizovat výkonnost sítě a např. webové stránky jsou dostupné i v době
internetové špičky nebo při výpadku některého ze serverů.

Softwarové řešení
Přestože softwarový load balancing většinou představuje cenově výhodnější
variantu, skrývá v sobě jistá úskalí. Další software instalovaný na serveru
zmenšuje jeho volné systémové zdroje a zpravidla nepřispívá k jeho stabilitě.
Výsledkem jsou časové prodlevy, v jejichž důsledku musí uživatelé déle čekat na
požadované informace.
Ke kontrole aktuálního stavu serverů používá většina softwarových řešení
výhradně metodu Ping implementovanou v protokolu ICMP (Internet Control Message
Protocol). Nevýhodou je, že Ping v ICMP sice dokáže prověřit síťové spojení se
servery, nikoliv ale jednotlivé služby, o procesu jako celku ani nemluvě.
K rozdělování zátěže používá software pro load balancing metodu zvanou Round
Robin. V jejím rámci je každému z řady serverů postupně přidělováno ke
zpracování po jednom úkolu. Tato metoda však brzy narazí na hranice své
použitelnosti, neboť nebere v úvahu chování jednotlivých uživatelů internetu.
Návštěvníci totiž zůstávají připojeni k serverům po různě dlouhou dobu, což
může opět snadno končit nedostatečně vytíženými systémovými zdroji.
Navíc jsou se softwarovými řešeními spjaty také vysoké administrativní nároky,
neboť současně s každým novým serverem přidaným do clusteru musí být instalován
také software pro load balancing. Celé řešení se stává komplikovanější a
možnosti dalšího rozšiřování systému jsou omezené. Další nevýhoda spočívá v
závislosti na jednom určitém operačním systému. Nebývá výjimkou, že software
pro vyrovnávání zátěže dokáže pracovat pouze na omezené množině operačních
systémů. Vzhledem k této skutečnosti jsou možnosti vytvoření heterogenního
serverového prostředí výrazně omezeny.

Hardwarové řešení
V případě hardwarového řešení se mezi uživatele a serverový cluster vloží
speciální zařízení. Výhoda tohoto řešení spočívá v tom, že server pracuje i
nadále tak jako předtím, tj. bez dalšího instalovaného softwaru, a za řízení
provozu (traffic management) přebírá zodpovědnost specializovaný hardware.
Výsledkem je zvýšená výkonnost dané jednotky, případně celého clusteru.
Hardware navíc pracuje zcela nezávisle na operačním systému, takže lze vytvořit
i heterogenní serverové prostředí.
V případech, kdy je třeba provést upgrade serveru nebo jeho údržbu, je zařízení
pro load balancing zárukou kontrolovaného shození serveru, díky němuž nedojde k
výpadku služeb. Automaticky dochází k optimalizaci celkového datového provozu
směrem k serverovému clusteru, neboť odpovídající servery nejsou zatěžovány
novými uživateli. Ještě před odstavením serveru je možné dokončit aktuální
dotazy. Tato funkce je zárukou jak nepřetržité dodávky služeb, tak i jednoduché
obsluhy serverového clusteru. Pro provedení restartu připojuje zařízení
vyvažující zátěž klienty k serveru postupně, jednoho po druhém.
Zařízení typu load balancer mohou být instalována lokálně i globálně. V případě
lokálního vyrovnávání výkonu je nadměrná zátěž dynamicky rozdělována mezi
servery instalované na jedné lokalitě. Lokální load balancer se proto zabývá
sledováním aktivity systémových zdrojů a testuje jejich dostupnost. Podobně
jako softwarové load balancery testují také jejich hardwarové verze dostupnost
serverů tak, že na ně posílají dotazy a čekají na odezvu. S cílem zajistit
systém proti výpadku je sledována celá datová cesta. Kontrola stavu serveru se
však neděje pouze pomocí metody Ping, ale také pomocí kontrolních dotazů na TCP
nebo UDP porty. Kromě toho pravidelně probíhají testy HTTP stránek, a to jak na
autentizaci, tak i na jejich obsah. Při výpadku serveru nebo jiného síťového
prvku je uživatel transparentně přesměrován na jiný volný server v clusteru,
přičemž je za všech okolností zaručen bezchybný přenos dat.

Řízení toku dotazů
Zařízení pro load balancing na sebe prakticky stáhnou veškerý datový provoz,
který je směrován na vícero vzájemně souvisejících serverů, a rozdělí jej.
Dokáží realizovat několik rozdělovacích schémat paralelně pro různé skupiny
serverů. Důvodem je skutečnost, že data, soubory přenášené prostřednictvím FTP
a e-maily jsou často určeny pro různé servery instalované v rámci clusteru.
Uživatelé zadávají vždy jednu a tutéž adresu URL a poté jsou v závislosti na
požadované službě přesměrováni na odpovídající server. Jeden z hlavních úkolů
load balanceru proto spočívá v nepřetržitém sledování vytížení a dostupnosti
serveru. Jestliže uživatel posílá dotaz, je nejprve směrován na load balancer,
a ten rozhodne, na který ze serverů má být dotaz poslán.
Load balancer o přesměrování datového provozu (traffic redirection) rozhoduje
kromě jiného také podle IP adres, typu aplikací a požadovaném obsahu. Přitom
jsou podporovány aplikace, které využívají Internet Protocol (IP): Telnet,
Rshell, TFTP, FTP, HTTP, e-mail, DNS nebo Voice over IP (VoIP). Load balancer
dále umožňuje tzv. URL switching: Datový provoz je přesměrován v závislosti na
adrese URL nebo na základě informací o parametrech v rámci adresy URL.
Za účelem optimalizace webových transakcí (web switching performance) může být
každá adresa URL buď přesměrována na jeden server, nebo rozdělena mezi několik
serverů. Na základě informace obsažené v textu URL dokáže load balancer trvale
udržovat spojení mezi klientem a přiděleným serverem (client persistence). A
konečně by mělo být s pomocí load balanceru možné také směrovat uživatele v
jistých vymezených případech vždy na tentýž server.
Další možnost, jak dosáhnout stavu perzistence klienta, spočívá ve schopnosti
load balanceru interpretovat cookies. Takto je pro danou aplikaci zaručeno
optimální řízení provozu (traffic management) a personalizovaného obsahu.
Jestliže bylo navázáno spojení prostřednictvím protokolu Secure Socket Layer
(SSL), může load balancer díky sledování SSL Session ID zaručit trvalé
připojení.

Globální vyvažování
Firmy dnes ve stále větší míře využívají výpočetní střediska v různých
lokalitách a redundanci své počítačové sítě. V rámci těchto systémů jsou
používána globální zařízení typu load balancer, která se starají o rozdělování
žádostí ze strany zákazníků i vlastních zaměstnanců z celého světa. Vhodný
globální load balancer dokáže nejen testovat vytížení, relativní možnost zátěže
a dostupnou přenosovou kapacitu jednotlivých lokalit, ale také měřit
vzdálenosti na síti. Vzdálenost mezi uživatelem a serverem se stanoví pomocí
doby odezvy a počtu skoků přes routery. Díky takto zjištěné vzdálenosti mohou
být zákazníci a zaměstnanci přesměrováni na optimálně dostupný a nejblíže
instalovaný server v rámci celé globální sítě.
Ideální load balancer nabízí v rámci jednoho zařízení vyrovnávání zátěže jak na
úrovni lokální, tak i globální mezi různými lokalitami.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.