Co je load balancing? Load balancing, česky rozkládání zátěže, je rozdělování příchozích požadavků mezi několik serverů místo jednoho. Před servery stojí rozdělovač, který každou návštěvu pošle tam, kde je zrovna nejmíň práce. Návštěvník o tom neví, vidí pořád jedinou adresu.
Je to jako pokladny v supermarketu. Kdyby byla otevřená jen jedna, fronta by se táhla přes celý obchod. Když jich je pět a někdo lidi rozděluje, odbaví se všichni podstatně rychleji. A když jedna pokladna zamrzne, zákazníci se prostě postaví k ostatním – obchod jede dál.
K čemu je to dobré:
- Zvládnutí náporu – při reklamní kampani nebo výprodeji přijde najednou mnohonásobek běžného provozu. Víc strojů ho ustojí.
- Odolnost proti výpadku – rozdělovač si hlídá, jestli servery odpovídají. Ten nefunkční přestane používat, takže návštěvník chybu vůbec nezahlédne. To přímo ovlivňuje dostupnost.
- Údržba za provozu – jeden stroj se odstaví, aktualizuje a vrátí zpět, aniž by se web na chvíli vypnul.
- Postupný růst – místo stěhování na stále větší stroj se prostě přidá další.
Háček je v tom, že se web na takový provoz musí připravit. Když návštěvník při první stránce skončí na serveru A a při druhé na serveru B, musí obě mašiny vědět totéž – kdo je přihlášený, co má v košíku a jaké soubory byly nahrané. Sdílet se proto musí databáze, uložiště souborů i objektová cache. Aplikace, která si data ukládá lokálně na disk, se v tomto uspořádání chová nepředvídatelně.
Praktická otázka: potřebuje to můj web? Skoro určitě ne. Rozkládání zátěže má smysl u projektů s opravdu velkým a nárazovým provozem, kde už jeden výkonný stroj nestačí. Firemní prezentace, blog i běžný e-shop se pohodlně vejdou na jeden dobře nastavený server. Pokud Vám web zpomaluje, bývá příčina jinde: neoptimalizované obrázky, pomalé dotazy do databáze nebo hromada nepoužívaných doplňků. Návod k tomu dává heslo optimalizace webu.
Na CHOST.cz load balancing zákazníkům nenabízíme, tohle heslo je vysvětlující. Rychlost běžného webu u nás řeší jiné vrstvy: CDN před weby, serverová a mezipaměť a Redis pro opakované dotazy. Přehled toho, co je v tarifech, najdete na stránce webhosting.