Rychlý přístup k vašim webovým serverům

Ať už jde o firmy živící se prodejem přes internet, nebo o ty, které prostřednictvím tohoto média jen vystavují sv


Ať už jde o firmy živící se prodejem přes internet, nebo o ty, které
prostřednictvím tohoto média jen vystavují své katalogy, všechny se už patrně
naučily, že rychlá a spolehlivá dostupnost vytvořených stránek je rozhodujícím
kritériem pro úspěch jejich webových prezentací. Důležitým nástrojem pro její
dosažení jsou zařízení pro rozdělování zátěže load balancery.
Platí tu známé pravidlo osmi vteřin: Pokud stránka potřebuje ke stažení delší
dobu, pak zákazník pravděpodobně přejde ke konkurenci. Dostupnost webu má přímý
vliv na spokojenost zákazníka, image firmy a její podíl na trhu. Vzhledem k
riziku, že ztratí respekt nebo dokonce utrpí obchodní ztráty, se firmy z
každého oboru snaží své weby vylepšit. Z hlediska zákazníka neexistuje žádný
rozdíl, zda má prodejce k dispozici dva nebo dvacet webových serverů uživatel
očekává ve všech případech totéž: Chce se rychle připojit na snadno použitelnou
a výkonnou službu. Pokud přístup souvisí s finančními nebo diskrétními
transakcemi, předpokládá navíc, že existuje zabezpečené spojení. Z pohledu
prodejce je tedy třeba zajistit, aby byla jeho nabídka rychle k dispozici
(krátká doba reakce) a aby přitom byla k dispozici přes webový systém, který
podporuje šifrovaná spojení. Řešení se jmenuje serverový load balancing a
označuje systém pro distribuci požadavků na jednu skupinu serverů.

Vyvažování zátěže
Load balancer je síťové zařízení, které je umístěno před danou skupinou
serverů. Ta může nabídnout různé služby, např. poskytování webových stránek,
ftp přístup, služby LDAP, DNS nebo streaming video. Balancer stojí před touto
skupinou jako transparentní proxy-server a přijímá přicházející dotazy. Podle
charakteru služby (například odpovědi na http požadavky) jsou mu přiřazeny dva
nebo několik skutečných serverů. Obsah určité služby, například webové domovské
stránky, je přitom k dispozici na nejméně dvou serverech v identickém tvaru. Na
balanceru se takové identické obsahy sdružují do jedné logické jednotky.
Mluvíme o virtuálních službách. Tyto virtuální služby jsou reprezentovány IP
adresou, která se pak rovněž označuje jako virtuální IP.
Balancer zná rozdělení obsahů stejně jako kapacity, vytížení a použitelnost
každého jednotlivého serveru. Pomocí tzv. zdravotních kontrol (health checks)
je zajištěno, že balancer pozná také výpadky serverů a jednotlivých služeb.

Mechanizmy
Balancer má v normálním případě k dispozici několik mechanismů, jejichž
prostřednictvím může spravovat distribuci dotazů mluvíme o tzv. metodách
rozvrhování (scheduling methods). Jejich použití záleží na konkrétních
požadavcích kladených na celý systém.
Na reálných serverech mohou existovat přídavné služby, pro které je žádoucí
perzistentní spojení. Perzistencí je zajištěno, že během definované doby
zůstanou zachovány speciální uživatelské sessions k určitému reálnému serveru.
Tento požadavek je kladen zejména pro transakce v oblasti e-commerce, u kterých
musí zákazník zůstat ve stejném kontextu např. se svým nákupním košíkem.
Administrátor zná nutnost této perzistence a musí aktivovat příslušnou volbu
při instalaci řešení load balancingu. Celý proces zpracování žádostí pak vypadá
takto: Balancer obdrží dotaz a určí odpovídající reálný server nabízející
požadovanou službu a také příslušnou metodu rozvrhování. Potom přesměruje dotaz
na systém, který je k tomu nejvhodnější, například systém s nejmenším zatížením
CPU, a v případě potřeby doplní informaci nutnou pro perzistentní spojení.
Následující dotaz téhož zákazníka směřuje rovněž na tento server. Load
balancing přes virtuální cluster nabízí vysoký výkon (krátké doby odpovědi i
během maximálního zatížení), dobrou dostupnost a škálovatelnost. Mnohé aplikace
jsou během provozu tak vytížené, že jednotlivý server již nemůže poskytnout
potřebný výkon. Je sice možné nainstalovat nový hardware, avšak je tu riziko
poddimenzování, resp. předimenzování. Kromě toho se v takovém případě již nedá
často použít starý hardware. Díky load balanceru lze do systému často
zaintegrovat nový hardware spolu se systémy dosavadními. Tři kategorie
V zásadě existují tři různé způsoby zajištění load balancingu: DNS round robin,
integrovaný load balancing a dedikovaný load balancing. DNS round robin funguje
tak, že při příchodech dotazů na jednu doménu vydává DNS příslušným způsobem
přiřazené IP adresy v rotujícím pořadí. Tímto způsobem se provádí distribuce
dotazů přes různé servery. Tento systém však přináší některé problémy. Prvním
je to, že rozlišování jmen DNS se může ukládat do vyrovnávací paměti v síti a
poté se následné dotazy již nezodpovídají v round robin, ale jsou doručovány z
rychlé vyrovnávací paměti. Takové dotazy jsou tak přiváděny vždy na jeden a
tentýž server, tudíž obcházejí systém load balancingu. Největší problém však
spočívá v tom, že jednoduchý DNS round robin nepozná, zda vypadl některý ze
serverů farmy. Byl-li asociován dotaz na jméno s určitou IP adresou, a tento
určitý server, resp. služba, která se na něm vyskytuje, plánovaně či
neplánovaně vypadl, směřují dotazy i nadále na něj. Integrovaný load balancing
nabízejí například Windows 2000, moduly pro webový server Apache, provozovaný
na systému Unix nebo Linux, či WebSphere firmy IBM. Každé z těchto řešení má
své výhody i nevýhody a poskytuje různý výkon. Nejdůležitějším bodem je to, že
uživatel je vázán na specifické možnosti příslušného systému. Load Balancing od
Microsoftu není podporován serverem Apache, který se ve světě nejvíce používá,
zatímco moduly Apache zase nepracují s IIS (Internet Information Server)
Microsoftu.
Problémy s výkonem Integrované produkty pro vyvažování zátěže představují
zpravidla softwarová řešení, která pracují v uživatelském režimu na aplikační
úrovni. To může přinášet problémy s výkonem. U dedikovaného load balancingu
rozlišujeme tři varianty: hardwarový balancer (switch balancer), softwarové
řešení a tzv. network appliances (síťová zařízení, hybridní systémy). V případě
hardwaru je inteligence "zadrátována" přímo v jednotlivých obvodech produktu. K
tomu se často používají na zakázku vyrobené integrované obvody (ASIC) s
přiřazenými riscovými procesory. Jejich výkon bývá velmi dobrý. Vyvažovací
funkce zde představuje rozšíření přepínací funkce. Někdy však obvody zařízení
nemohou zpracovat všechny součásti provozu, který balancing vyžaduje. Některé
funkce musí provádět samostatný software, takže práci přebírá hlavní procesor
zařízení. Praxe ukazuje, že podobná zařízení jsou pro uživatele často málo
komfortní a flexibilní. Další varianty U softwarových řešení je tomu zcela
jinak. Jejich největší přednost spočívá v uživatelském komfortu a v možnosti
poměrně snadno zaintegrovat další vlastnosti nebo provést zásadní updaty.
Nevýhodou je tu nutnost instalace a přiřazení příslušného hardwaru. Výkonnost a
spolehlivost závisí na kvalitě celého systému, takže se dá jen těžko určit, jak
efektivně nakonec bude softwarové řešení pracovat. Network appliances, tedy
hybridní systémy, mohou spojit výhody variant založených na hardwaru a
softwaru. Výkonný, spolehlivý hardware může být spojen s uživatelsky komfortním
a flexibilním softwarem. Network appliances, označované také jako black box
(černá skříňka), jsou většinou založeny na osvědčeném univerzálním operačním
systému, jako je Linux nebo BSD, jsou postaveny na standardním průmyslovém
hardwaru a nabízejí možnost updatu nebo upgradu řídicích programů. Tyto systémy
jsou v průměru levnější než řešení z hardwarové či softwarové oblasti. Závěr
Rozhodnutí, který systém load balancingu je ten nejvýhodnější, závisí na
několika faktorech, například na charakteristice datového provozu. Pokud se
nárazově objevují vysoké zátěže, nejsou pravděpodobně tou správnou volbou
integrovaná softwarová řešení, protože pracují ve stejném režimu jako uživatelé
a spotřebovávají kapacitu pro ně potřebných zdrojů. Otázky si musíme klást i
vzhledem k rozpočtu: Ospravedlňuje náš objem dat vysoce výkonný switching
balancer za 50 000 dolarů? Je třeba rovněž zvážit, zda existuje nutnost
realizovat rovnoměrné vytížení na základě cookies, session ID nebo částí URL. V
takových případech by se mohlo stát, že je nutno nasadit load balancer, který
je schopen pracovat na 7. vrstvě modelu OSI. Pokud tyto požadavky neexistují
nebo ještě nejsou aktuální, postačí levnější řešení, které pracuje na úrovních
3 a 4. Load balancing se vyvinul z potřeby efektivně obsloužit rostoucí datový
provoz po internetu. Trh dnes nabízí potěšitelně velké spektrum produktů. Ti,
kdo provedou pečlivou analýzu svých požadavků, tu pro sebe jistě najdou
uspokojující řešení.









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