Distribuce zateze na hrozne moc webserveru

Dan Lukes dan at obluda.cz
Mon Nov 6 14:02:26 CET 2006


totojepast napsal/wrote, On 11/06/06 12:14:
> Mate nekdo zkusenosti s load balancingem mezi geograficky oddelenymi
> webservery pomoci DNS? Mohl by mi, prosim, nekdo poradit s distribuci
> zateze mezi velke mnozstvi webseveru?

> Mam takovy problem: Potrebuji provozovat hostname typu www.example.com
> na velkem mnozstvi geograficky oddelenych serveru s rozmanitymi IP
> adresami.
> Domnival jsem se, ze to nebude problem, resenim by byl round robin DNS.
>
> Ukazuje se, ze round robin nefunguje, protoze vzdy vraci vsechny
> alternativni IP adresy pro dane hostname najednou, jen se meni jejich
> poradi. Nektere nameservery po ceste ke klientu vsak mohou poradi menit

	To jeste nepusobi problem. Jestlize se nahodne poradi poceste znovu
nahodne zmeni, stale plati, ze vysledne poradi je nahodne. Pokdu si tedy
klient z takoveho seznamu vybere (a je jedno, zda vezme vzdy prvni nebo
zda vezme nahodny zaznam), k nahodnemu vyberu a tim rozkladu zateze
stale dojde.

> a pokud odpoved obsahuje prilis mnoho IP adres, nastava problem s delkou
> paketu.

	Ani to by problem byt nemel. "Problem maximalni velikosti UDP paketu"
je soucasti primo originalniho DNS, ktera jej take resi (nejde tedy o
zadne dodatecne domluvene "vylepseni", ktere by ve starsich softwarech
mohlo nebyt implementovano). Nelze-li velke mnozstvi dat predat pres
UDP, server informuje klienta, ze odpoved je zkracena a ten polozi dotaz
znovu pres TCP, kde velikostni limit neexistuje (dobre, existuje, ale je
o dost vetsi). Ziskani IP adres se tim sice mirne zpozdi, ale nemelo by
jit o problem, ktery by nejak vyznamne omezil dostupnost sluzby.


> Domnivam se, ze by nameserver mel vracet vzdy jen jednu IP adresu, ale
> stridat ji.

	Uvedomujete si, ze DNS odpovedi se cacheuji ? Muzete zvolit prakticky
nulovy cas pro caching - a tim teoreticky vyresite problem 'stridani'.
Jenze, pouziti velmi kratkeho casu cacheovami je v rozporu s
doporucenimi a muze zpusobit problem samo o sobe, za druhe - to, ze DNS
dotazy nepujde resit z lokalnich cache a vzdy bude potreba absolvovat
"kompletni resolvovaci strom" coz bude mit negativni dopad jak na
spolehlivost spojeni tak na zpozdeni a muze tak pusobit na uzivatele
nekomfortne.

	DNS nebylo navrzeno jako system s velkym mnozstvim rychlich zmen
zaznamu. Zpusobite si velke mnozstvi komplikaci, pokud se ho pokusite k
necemu takovemu donutit. Obzvlast, kdyz se zatim zda, ze pro takovou
potrebu neni skutecny duvod.


> Co byste mi doporucili?

	Pouzit standardni round-robin. Zatim ve vami predanych informacich
nenasel nenasel duvod proc ho nepouzit - coz samozrejme neznamena, ze
takovy duvod neexistuje.

	Pokud je tech zaznamu opravdu extremne hodne, lze svet rozdelit na
"zony" (podle IP) a do ruznych zon predavat ruzne (i prekryvajici se)
subsety z celkoveho seznamu jmen. To je funkcnost 'view', kterou
naleznete ve standardnim BINDu (verze alespon 9).


	Zdravi

					Dan Lukes


--
Dan Lukes                                   SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz



More information about the net mailing list