Vyvažování zátěže
Vyvažování zátěže (anglicky load balancing) je v informatice technika pro rozložení zatížení mezi dva nebo více počítačů, síťových linek, procesorů, pevných disků nebo jiných zařízení, aby bylo dosaženo optimálního využití, prostupnosti nebo času odezvy. Použití více zařízení pro vyvážení zátěže může poskytnout i větší odolnost proti výpadkům (anglicky failover).
Popis funkce
Vyvažování zátěže zajišťuje obvykle speciální program, hardwarové zařízení (například switch, který umí přepínat na síťové vrstvě), počítačový cluster, ale může být dosaženo i pomocí DNS.
Round robin DNS
Pro rozdělování zátěže mezi více serverů lze využít DNS. Každý server bude mít jinou IP adresu a v DNS budou k jednomu jménu v URI přiřazeny všechny použité IP adresy. Klasický jednoduchý klient si pro komunikaci vybere první z nabízených adres. Pokud DNS server bude nabízet varianty IP adres v náhodném pořadí, budou se klienti připojovat zhruba stejně na obě IP adresy. Tento systém se nazývá Round robin DNS. Příkladem takového vyvažování zátěže mohou být dvě serverovny Seznam.cz.[1]
Rozhodovací algoritmy
Různé druhy rozhodovacích algoritmů jsou používány load balancery pro určení cílového serveru, kterému pošle požadavek. Jsou to jednoduché algoritmy využívající náhodný výběr nebo metodu Round Robin. Sofistikovanější load balancery mohou brát v potaz i další faktory jako jsou například hlášení zatížení, doba odezvy, status zapnuto/vypnuto, počet aktivních připojení, geografická pozice, schopnosti, nebo jaký je potřeba momentálně traffic.
Architektura
Vysokorychlostní systémy mohou používat několik vrstev vyvažování. Kromě dedikovaných hardwarových vyvažovačů jsou k dispozici také pouze softwarové varianty včetně open source projektů. Příkladem je pak ve webovém serveru Apache modul mod_proxy_balancer. Gearman se pak může využít pro rozdělení vhodných procesů na jednom počítači mezi několik různých počítačů takže velké úlohy jsou zpracovány mnohem rychleji.
Využití v telekomunikaci
Vyvažování zátěže může být užitečné v aplikacích s redundantními komunikačními spojeními. Například společnost může mít více síťových připojení zajišťující přístup k Internetu, pokud jedno z připojení selže. Bez vyvažování by vše fungovalo tak, že jedna linka by byla určena pro běžné použití, zatímco druhá by se použila pouze v případě, že primární selže. Pomocí vyvažování zatížení, mohou být obě linky celou dobu požívány. Zařízení nebo program monitoruje dostupnost všech linek a vybere cestu pro odesílání paketů. Použití více linek současně zvyšuje dostupnou šířku pásma. Většina telekomunikačních společností má mnoho linek uvnitř své vlastní sítě nebo vedou do externích sítí. Používají proto sofistikované vyrovnávání zátěže pro přesun provozu z jedné linky na druhou, aby se zabránilo přetížení sítě na konkrétní lince, a někdy tak minimalizovat náklady díky přenosům přes vnější sítě nebo jen zlepšují spolehlivosti své sítě.
Další možností využití vyvažovačů zátěže je při monitorování síťové aktivity. Vyrovnávače mohou být použity při rozdělení velkého datového toku na několik dílčích malých přičemž každý z nich čte jen malou část původních velikých dat. Toho se velmi často využívá ve vysokorychlostních sítích jako jsou 10GbE nebo STM64, kde zpracování celých dat nemusí být dostatečně rychlé pro danou přenosovou rychlost.
Reference
Externí odkazy
- Obrázky, zvuky či videa k tématu Vyvažování zátěže na Wikimedia Commons
- Round robin DNS