Díky kešování začíná Web konečně poklusávat

Dnešní hardwarové vybavení často nedostačuje, když vaše požadavky na šířku pásma pro Internet ovlivní touha po p...


Dnešní hardwarové vybavení často nedostačuje, když vaše požadavky na šířku
pásma pro Internet ovlivní touha po přenosu videa, velkých obrázků nebo
audiodat. Výpadky serverů nebo velká přenosová zpoždění s sebou přinášejí
principiální ztrátu odbytu nebo zákazníků a tomu je třeba zabránit.
Inteligentní metody ukládání do vyrovnávacích pamětí mohou doby přístupu a
přenosu potřebných multimediálních dat výrazně zkrátit a zajistit dostupnost
obsahu serverů při výpadku. V následujících textech vám přinášíme popis dvou
zcela odlišných řešení: Freeflow od společnosti Akamai, a Dynamai od
Persistence Software.
Řešení Freeflow
Softwarové řešení Freeflow společnosti Akamai je aplikace nabízející rychlejší
přenášení webového obsahu a odolnost proti výpadkům. Dotazy uživatelů na
multimediální webové objekty jsou přesměrovány na servery Akamai.
Serverová infrastruktura Akamai se nyní skládá z 3 000 serverů, rozptýlených
přes 160 páteřních sítí ve 45 amerických státech. Algoritmy Freeflow
vyhodnocují situaci při přenosu dat v Internetu se sekundovou přesností a
směrují požadavky uživatelů na nejblíže ležící server.
Výsledkem této strategie jsou rychlejší downloady pro koncové uživatele,
redukovaná zátěž stejně jako ochrana před přetížením domovské stránky kvůli
příliš mnoha dotazům. Přídavné funkce jako chybová odolnost proti serverovým
nebo síťovým chybám a rychlá reakce na silný, neustále se měnící datový provoz,
zabezpečují vysokou, na špatných síťových podmínkách nezávislou, kvalitu
služeb. "Servery stojí ve výpočetních střediscích nebo jiných místech POP
(Point of Presence) vedoucích poskytovatelů Internetu a komunikací. S více než
12 GB/s výstupní kapacity může infrastruktura Freeflow dosáhnout podstatného
procenta současného a budoucího webového provozu," konstatuje k tomu Wolfgang
Stähle, vedoucí evropské pobočky Akamai. Více se o Akamai dočtete v hlavním
textu.
Urychlení přístupu k multimediálnímu obsahu
Internet se dusí svou úspěšností, stále více uživatelů a komplexního obsahu
ucpává páteřní sítě i přístupové body. Důsledkem jsou dlouhé doby stahování
zejména pro multimediální obsah se svým typickým nabobtnalým objemem. Protože
není možné přebudování síťové infrastruktury Internetu s razantně se
zvětšujícím nárůstem provozu, mohlo by být řešením problémů se zamrzáním Webu
(World-Wide-Wait) v dohledné době inteligentní kešování (caching) webového
obsahu.
Na rychlé přenášení multimediálního obsahu přes Internet se specializuje např.
americká firma Akamai. V letech 1995 až 1998 v ní byly vyvinuty algoritmy pro
replikaci jakož i pro dynamické směrování (routing) obsahů v rozsáhlé
rozvětvené síti distribuovaných serverů. Centrální serverové clustery pro
provozování webových stránek je možné využitím tohoto řešení decentralizovat.
Celé to může být také nabízeno jako služba pro poskytovatele obsahu nebo
podnikatele v elektronickém obchodování a to je v podstatě také obchodní model
Akamai.
Freeflow mění URL
Společnost Akamai nabízí produkt Freeflow, jehož prostřednictvím jsou požadavky
na multimediální data přesměrovávány na keše umístěné na řadě různých míst.
Typická interakce uživatele s Webem Freeflow probíhá podle následujícího
schématu: nejdříve pošle uživatelův prohlížeč požadavek na originální webovou
stránku. Na to reaguje domovská stránka a pošle zpět odpovídající HTML kód.
Rozdíl ovšem spočívá v tom, že rozeznaná URL, v nichž jsou objekty vnořeny, a
ty změní na ARL (Akamai Resource Locator). Tak nedostane uživatelův prohlížeč
multimediální objekty z originálního serveru domovské stránky, ale z co
nejblíže ležícího serveru Akamai.
Modifikace obsahu objektů rozezná ten systém, který bude objektu přidělovat
jednoznačné ARL a server Akamai tento pro něj nový obsah vyvolá z domovské
stránky. Hned potom uloží server objekt do své paměti cache. Protože je velká
část datového přenosu při stahování multimediálních objektů, například obrázků,
vedena k nejbližšímu zdroji těchto dat, redukuje tato technologie značně
zatížení domovských serverů.
Komponenta Freeflow Launcher označuje vnořené webové objekty pro odeslání přes
Freeflow server. Launcher je krátký skript, který může být používán pro
jednotlivá URL, HTML data nebo webové stromové struktury dokumentů a převádět
jejich URL na ARL. Přesná činnost záleží na jednotlivých atributech objektu.
Řídicí atributy
První atribut identifikuje virtuální "obsahový koš", soubor webových objektů,
které budou vždy posílány z jedné určité skupiny serverů. Pomocí seskupování
podle tohoto atributu dosáhne program spravedlivého rozložení zátěže na různé
servery a efektivního využití zdrojů jako například paměti RAM serveru. Druhý
atribut, doména Akamai, je oprávněn k tomu, aby posílal požadavky uživatele na
obsah do serveru Akamai s obcházením domovské stránky objektů. Sériové číslo
jako třetí atribut slouží pro definování a výběr rozšíření příslušných
standardních služeb Freeflow.
Kód poskytovatele obsahu jako čtvrtý atribut identifikuje uživatelský účet
zákazníků Akamai. Získává zprávy o používání, logování a vyúčtování podle
různých kritérií, např. podle stahování speciálních objektů. Konečně atribut
objektových dat ochraňuje aktuálnost každého objektu díky jednoznačné
identifikaci každé verze. Jakmile bude objekt změněn, ovlivní to také atribut
objektových dat, takže jeho ARL vnořené do odpovídající HTML stránky se rovněž
změní. Když si uživatel vyžádá stránku po změně, dostane exemplář, který
ukazuje na novou verzi objektů.
Vyšší dostupnost
Freeflow DNS je jako dvoustupňová hierarchie integrován do webových DNS
serverů: více než 50 High-Level-Domain-Name serverů (HLDNS) a 3 000
Low-Level-Domain-Name serverů (LLDNS). HLDNS servery slouží pro přesměrování
všech požadavků na příslušný LLDNS server, který se nachází v blízkosti
žádajícího klienta. LLDNS servery realizují konečné přiřazení IP jmen k adrese
serveru a vedou každého klienta na server Akamai, který je nastaven pro
požadavky klientů.
Aby bylo možné zvládnout strojové chyby, bude používán takzvaný systém Buddy:
Každému stroji bude přidělen jiný počítač (Buddy). Stínové počítače se hlídají
navzájem pomocí Heartbeat-Messages přes privátní síťové spojení. Když jeden
server vypadne, nastoupí na jeho místo jeho Buddy, mezitím během jedné sekundy
převezme přes protokol pro rozlišení adres (ARP Address Resolution Protocol) IP
adresu vypadlého systému. Freeflow se tedy také jeví odolné proti chybám, a to
i když vypadne server DNS (HLDNS nebo LLDNS). Servery Akamai reagují stejně
jako běžné DNS na každý požadavek seznamem adres. Když je server vypadlý, může
uživatel kontaktovat protějšek ze seznamu.
Software nepřetržitě hlídá dostupnost a kapacitu hostitelské sítě a serverů. V
případě síťového výpadku nebo poruchy ve výpočetním středisku bude hodnota
komunikačních nákladů této sítě nebo výpočetního střediska nastavena na
nekonečno. To způsobí, že přidělovací algoritmy odstraní toto výpočetní
středisko nebo síť ze schémat vysokých úrovní a rychlostí. Přes vypadlou síť
nebo výpočetní středisko také nebude posílán žádný provoz.
Ačkoliv je síť Freeflow odolná proti chybám, musí poskytovatel obsahu
zajišťovat, aby domovský Web v normálním provozu nevypadl. Všechny iniciační
požadavky vycházejí z tohoto Webu a v případě výpadku nebude volána síť serverů
Freeflow.
Caching dynamického obsahu
Dynamai je nový softwarový produkt firmy Persistence Software, který se má
vyrovnat s kešovaním dynamického obsahu. Podle Dereka Henningera,
viceprezidenta engineeringu, je Dynamai aplikovatelný na existující platformy s
operačními systémy Solaris (2.6 a vyšší), Linux (Red Hat 6.1 a vyšší) a Windows
NT, do budoucna bude podporovat běžné webové servery včetně "Apache".
Program je vyvolán webovým serverem a převezme požadavky na HTTP. Když se
takový požadavek vztahuje na obsah existující již v paměti cache, odejde
příslušný obsah jednoduše na dotazující se prohlížeč. Když se požadovaný obsah
v paměti cache nacházet nebude, bude požadavek přesměrován na webový server.
Odpovídající data potom přejdou do paměti cache a jsou k dispozici pro další
požadavky. Jestliže požadavek není pro pomocné uložení vhodný, bude předán dále
na webový server a příslušná odpověď bude ignorována. Dynamai může podle údajů
výrobce pomocně uložit každý druh obsahu, ať statický nebo dynamický. I když je
na Webu již k dispozici statická paměť cache, může se Dynamai seřídit jen pro
caching dynamického obsahu.
Jaký obsah má jít do cache?
Obsah může být způsobilý ke kešování v případě 3 důvodů: za prvé obsah
reprezentuje podstatnou část datového objemu, za druhé jsou přístupy častější
než změny a za třetí představují právě přístupy úzký profil. Na příkladu
jednoduchých aukčních stránek s clusterem webových serverů, které sahají do
jediné databáze, se dá tento proces názorně ukázat.
Domovská stránka v tomto příkladu ukazuje přes odkazy na rozličné kategorie s
denně se měnícími aukcemi. Zbytek této stránky se skládá pouze ze seznamu
nabízených aukcí. Vnořená stránka kategorií vede seznam všech položek v této
rubrice. Kliknutím na konkrétní položku se otevře příslušná stránka a ukáže se
více informací k této položce stejně jako seznam současných nabídek. Každá
stránka dané položky má odkaz na stránku nabídky. Ta je zašifrována přes SSL a
dovoluje investování do dané nabídky přes uživatelské jméno a heslo.
Analýza možností kešování vede následně k vyloučení stránek položek
zašifrovaných přes SSL, kde každé spojení k uživateli prochází pod separátním
klíčem a proto nedovoluje žádné rozumné kešování. Také domovská stránka nemusí
být pomocně ukládána, protože se její obsah mění jen jednou denně a doby
obnovování statického kešování jsou zde dostatečné.
Naproti tomu je rozumné ukládat do paměti cache stránky kategorií, protože
představují významný podíl síťového provozu. Při deseti kategoriích probíhá
přibližně deset procent interakcí přes takovou stránku. V protikladu k tomu
stojí stránka položek. Při 100 000 aukčních položek přispívá každá taková
stránka k interakcím jen nepatrným procentem. Každá stránka kategorií se může
každých několik minut změnit, když budou otevřeny nové aukce a staré uzavřeny.
Během tohoto časového intervalu mohou tyto stránky kategorií navštívit stovky
uživatelů.
Stránky položek se naproti tomu mění při každém vydaném příkazu. Když každá
aukce obdrží průměrně deset nabídek, změní se tyto stránky desetkrát rychleji
než stránky kategorií. Tato stránka také zaznamená méně návštěvníků. V
neposlední řadě je vygenerování jedné stránky kategorií velmi nákladné, protože
je zapotřebí vyhledávání všech otevřených aukcí této kategorie přes celou
databázi. Pro vygenerování jedné stránky položek naproti tomu stačí indexovaný
lookup na určitý sloupec v databázi.
Stránky kategorií v tomto příkladu proto splňují tři kritéria pro rozumné
kešování. Pro stránky položek není věc tak jednoznačná, protože možná by se
ušetřilo jen deset nebo dvacet výpočtů pro každou položku. V normálním případě
nejsou všechny položky stejně zajímavé, takže položky jedné kategorie zažívají
více hitů než ostatní. Potom by se v ojedinělých případech mohlo osvědčit jako
rozumné výběrové kešování.
Výběrové kešování
I po rozhodnutí o stránkách kategorií existuje dále problém, že stránky v
paměti cache zastarávají. Stránka již není aktuální, když se seznam běžných
položek v rámci této kategorie změní. Stránka v cache paměti musí proto být
také odpovídajícím způsobem aktualizována.
Tady Dynamai nabízí několik možností. Administrátor může deklarovat události,
na kterých je hodnota obsahu paměti cache závislá. Dále se může určit, v jaké
formě dynamický obsah na této události závisí. K tomu existují dvě volby: Pro
již existující stránky, u kterých se proces generování dynamického obsahu nemá
měnit, dává Dynamai k dispozici takzvané "Request-based Dependencies"
(závislosti založené na požadavku). Systém identifikuje URL požadavky, stanoví
parametr jako událost, na které závisí odpověď.
Pro dosud neexistující stránky dává k dispozici "Script-based dependency"
(závislost založená na skriptu). Zde je závislost určité části deklarována v
rámci skriptu, který generuje obsah. Pomocí této formy závislostí je možné
snadno synchronizovat skriptovou logiku a generování závislostí. Tato metoda
také funguje, když se dotčené URL ukáže jako nedostatečně popisné nebo příliš
komplexní pro Request-based Dependencies.
Po deklarování všech relevantních událostí a odpovídajících závislostí pro
dynamický obsah je možné ještě definovat možnosti obnovení paměti cache při
určitých událostech.

Akamai v Evropě
Díky partnerství s firmou Telia, vedoucím poskytovatelem telekomunikačních
služeb v severoevropské a pobaltské oblasti, může Akamai přistupovat na všechny
páteřní sítě v Evropě, takže může distribuovat obsahy a požadavky náročné na
šířku pásma po celém kontinentu. Dále nainstaloval výrobce zařízení u 33
vedoucích evropských poskytovatelů síťových služeb.
Trvale fungující síťové operační středisko má zajišťovat, aby bylo možné
okamžitě reagovat na potenciální problémy. Zejména je tak zajištěno, že běží
centrální procesy, všechny systémy nepřekračují svou kapacitu a regiony
spolupracují správně. Na základě odolnosti systémů proti chybám je nezbytnost
ručních zásahů při síťových problémech nepatrná. Když jednotlivé systémy
vypadnou, převezmou jejich místo automaticky nejblíže ležící systémy.
0 2219 / pen









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