Udržování rovnoměrné zátěže v prostředí TCP/IP

Mnoho správců sítí v současné době řeší problém, jak učinit své aplikace využívající protokoly TCP/IP škálo...


Mnoho správců sítí v současné době řeší problém, jak učinit své aplikace
využívající protokoly TCP/IP škálovatelnými a současně zajistit jejich
dostupnost pro uživatele. Na dnešním trhu je nevyhnutelné, aby byly webové
aplikace, telnetové servery nebo dávkové přenosy souborů spolehlivé a využívaly
maximální dostupnou výpočetní i přenosovou kapacitu.
Pokud se vyskytují problémy s dostupností webových aplikací a se schopností
vyrovnat se s provozním zatížením, je jejich původcem často server DNS (Domain
Name Server), kde se jména hostitelských systémů překládají na IP adresy.
Rozklad zatížení Jednou z nejoblíbenějších metod udržování rovnoměrné zátěže je
technika, které se říká Round Robin DNS. Při použití této metody server DNS
vyhledá servery s podobným obsahem, z nichž každý má svou vlastní IP adresu, a
poté při přijetí požadavku cyklicky odkazuje uživatele na každou z těchto adres.
Metoda Round Robin DNS má výhodu v tom, že je pro klienty i servery
transparentní. Uplatňuje se rovněž pouze jednou, a to na počátku transakce.
Naneštěstí je tato metoda často neúspěšná, protože mezilehlé name servery a
klientský software včetně oblíbených prohlížečů často ukládají IP adresy
zaslané zpět serverem DNS do vyrovnávací paměti nebo ignorují hodnotu TTL. TTL
je datový bit protokolu IP, jenž udává délku časového úseku, během něhož může
být datagram IP předán jiným směrovačům, aniž by došlo k jeho vyřazení.
Výsledkem uložení IP adresy do vyrovnávací paměti je to, že se obejde funkce
pro vyvažování zátěže poskytovaná serverem DNS a klient pokračuje v používání
IP adresy uložené do paměti, namísto toho, aby se pokusil o nové připojení.
Výsledkem je "horké místo", v němž nadmíru využívaný server pokračuje v
získávání dalších spojení.
Metoda Round Robin DNS má další omezení, protože není schopna diferenciace
podle portů, nemá žádné povědomí o dostupnosti serverů a není schopna brát v
úvahu stávající pracovní zatížení serverů.
Load Balancing Server
Aby byla odstraněna omezení, kterým podléhá udržování rovnoměrné zátěže serveru
DNS, bylo vyvinuto několik jiných metod vyvažování zátěže TCP/IP. V těchto
konfiguracích je před cluster serverů umístěn server vyvažující zátěž LBS
(load-balancing server). Požadavky na rozpoznání názvů jsou pak serverem DNS
zasílány serveru LBS.
To umožňuje, aby se cluster serverů vyskytoval pod stejnou IP adresou, čímž
dochází k odstranění jakékoliv závislosti na serveru DNS při vyvažování zátěže.
Jediné IP adrese serverů se říká adresa clusteru.
Jakmile server LBS přijme požadavek na spojení, existuje několik způsobů, jak
tento požadavek nasměrovat na vhodný server.
Nejjednodušší metodou je použít funkci pro změnu směrování obsaženou v
protokolu HTTP. Zde aplikace, která se stará udržování rovnoměrné zátěže,
používá HTTP k přesměrování žádajícího klienta na konkrétní server v clusteru.
Tato technologie však má několik významných nevýhod. K vyvážení zátěže dochází
pouze v rámci provozu HTTP, tedy na Webu. Aby bylo možné přesměrovat žádajícího
klienta na určitý server, je generován dodatečný síťový provoz. Vytváření
záložek (bookmarking) URL získávaných zpět po přesměrování obejde při budoucích
spojeních vyvažování zátěže.
Inspekce paketů
Pružnější přístup spočívá v tom, že server LBS provádí inspekci všech paketů,
které přicházejí na adresu clusteru. Zkoumá IP záhlaví každého paketu tam
zaslaného, aby rozhodl o tom, zda paket patří k existujícímu spojení, nebo zda
reprezentuje požadavek na nové spojení. Pokud jde o požadavek na nové spojení,
server LBS provede operaci vyvážení zátěže, aby určil, kterému serveru
požadavek zaslat. Jestliže paket patří do existujícího spojení, je nasměrován
do téhož serveru, jenž byl vybrán při zpracování prvotního požadavku na spojení.
Tyto prostředky mohou vyvažovat zátěž provozu HTTP nebo FTP, jakož i provozu
využívajícího jiné typy protokolů TCP a UDP.
Protože všechny příchozí pakety procházejí serverem LBS, může dojít k omezení
škálovatelnosti na základě toho, jakým způsobem jsou pakety zpracovávány
serverem LBS. Některé aplikace udržující rovnoměrné zatížení používají překlad
síťových adres (Network Address Translation NAT), jenž modifikuje zdrojové a
cílové IP adresy paketů. Toto další zpracování významně zvyšuje dodatečné
nároky na zpracování příchozích paketů.
V mnoha případech je objem odchozího provozu podstatně větší než objem
příchozího provozu. Pokud například ze serveru downloadujete webovou stránku s
včleněnými obrázky, odchozí požadavek je mnohem menší než příchozí obrázky.
Pokud se využije NAT, je potřebné další zpracování, které potom významně
zvyšuje dodatečné požadavky na zpracování příchozího paketu a pro vynucení
toho, aby odpověď serveru rovněž procházela serverem LBS. To by potenciálně
mohlo způsobit úzké hrdlo v síti.
V ideálním případě by příchozí pakety určené lokálním serverům měly procházet
serverem LBS při minimální nebo žádné manipulaci s pakety a neměly by vyžadovat
žádné proprietární agenty na serverech. Odchozí odezvy serverů by měly obcházet
server LBS a měly by protékat prostřednictvím samostatného spojení s
dostatečnou šířkou pásma.
Další klíčovou vlastností jakéhokoliv schématu pro vyvažování zátěže je
schopnost přizpůsobovat algoritmus vyvažování zátěže určitým aplikacím na míru.
Vyvažování serverů TN3270 se například liší od vyvažování webových serverů.
Škálování aplikací TCP/IP bude kritickým faktorem úspěšnosti správců sítí.
Pokud se s ním bude zacházet nesprávně, uživatelé se budou trápit s dlouhými
dobami odezvy či odmítnutými spojeními. Na dnešním konkurenčním trhu musí
správci sítí zajistit, aby jejich řešení vyvažování zátěže bylo nezávislé na
protokolech, škálovatelné, vyznačovalo se vysokou dosažitelností, dokázalo se
přizpůsobit různým kapacitám serverů a podporovat jakoukoliv serverovou
platformu, PC počínaje a sálovými počítači konče.
9 0416 / pen









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