Kdykoli váš systém roste, provoz se zvyšuje, stále více uživatelů používá vaše produkty, servery začnou reagovat pomaleji, výpadky nutí vaši firmu trpět, a pak začnete přemýšlet o škálování.
Existují dvě primární strategie škálování – vertikální a horizontální.
Vertikální škálování má za cíl zvýšit výkon systému přidáním obvykle více CPU a RAM do vašich serverů.
Naproti tomu horizontální škálování se zaměřuje na duplikování (nebo klonování) vašich serverů ve fondu zdrojů.
Více o těchto:
Vertikální škálování
Vertikální škálování je nejlepší volbou pro systém s nízkým provozem, protože je to nejdostupnější přístup pro zvládnutí růstu bez zavádění další složitosti. Nemusíte se starat o nasazování strategií pro skupinu zdrojů, elasticitu fondu zdrojů, bezstavovost vašeho serveru, distribuovanou mezipaměť a tak dále.
Vertikální škálování má však vážné nevýhody
- Hardwarový limit, protože není možné donekonečna přidávat zdroje
- Nedostatek převzetí služeb při selhání a redundance zvyšuje riziko prodloužených prostojů a ztráty dat
Horizontální škálování
Horizontální škálování odstraňuje tyto problémy klonováním vašich aplikačních serverů a vložením komponenty, jako je Load balancer .
Nástroj pro vyrovnávání zatížení distribuuje provoz na vašich serverech pomocí specifických algoritmů , jako jsou:
Round-robin Vážená kruhovka - Přístupy založené na IP hash
- Nejmenší způsob připojení
- Způsob váženého nejmenšího připojení
- Metoda nejmenší odezvy a mnoho dalších.
Přesto má několik nevýhod:
- Servery musí být bezstavové
- Relace musí být uchovány v centralizovaném úložišti dat
- Složitější
nasazení strategií může být vyžadováno - Nástroj pro vyrovnávání zatížení se může stát úzkým hrdlem výkonu, pokud je nesprávně nakonfigurován a zdroje nestačí
- Zavádí do systému další složitost a představuje potenciální jediný bod selhání, který vyžaduje použití strategií převzetí služeb při selhání
L4 / L7 Vyvažovače zátěže
Aby spolu mohla dvě zařízení na internetu komunikovat, musí základní systémy dodržovat specifické protokoly. Každý slyšel o modelu OSI, který popisuje sedm vrstev, které počítačové systémy používají ke komunikaci po síti. Ačkoli je moderní internet založen na jednodušším modelu zásobníku protokolu TCP/IP, model OSI je široce používán, protože pomáhá vizualizovat a komunikovat, jak sítě fungují, a pomáhá izolovat a řešit problémy se sítí.
Většina průmyslových řešení pro vyrovnávání zátěže používá termíny L4 a L7, kde L4 označuje transportní vrstvu v modelu OSI a L7 označuje aplikační vrstvu.
L4 load balancer je stále L2/L3, protože používá data ze spodních vrstev, jako je IP adresa a číslo portu.
Hlavní výhody load balanceru L4
Je bezpečnější a výkonnější, protože se při rozhodování o směrování nebere obsah dat
Mezi klientem a serverem existuje stejné připojení TCP, což pomáhá zabránit překročení limitu dostupných připojení TCP na nástroji pro vyrovnávání zatížení
Hlavní nevýhody load balanceru L4
- Inteligentní směrování je nemožné, protože obsah není dešifrován
- Stavový protokol přináší další složitost
- Mapování mezi veřejnými a soukromými adresami
- Žádné ukládání do mezipaměti, protože obsah je na této úrovni nedostupný
- Nelze použít pro architekturu mikroslužeb, protože přesměrování provozu není k dispozici na základě cesty adresy URL
Na druhou stranu L7 load balancer funguje na aplikační úrovni v modelu OSI
Hlavní výhody load balanceru L7
Chytrá rozhodnutí lze učinit na základě cesty URL, záhlaví, obsahu
Ukládání do mezipaměti
Hlavní nevýhody load balanceru L7
- Další režie kvůli udržování dvou TCP spojení, jedno mezi klientem a load balancerem, druhé mezi load balancerem a serverem. Také je třeba vzít v úvahu limit připojení TCP nástroje pro vyrovnávání zatížení
- Méně bezpečné, protože nástroj pro vyrovnávání zatížení musí znát certifikáty, aby mohl dešifrovat data a rozhodovat o směrování
Závěr
Vyrovnávání zátěže je životně důležitou součástí při použití horizontálního škálování pro manipulaci se systémy s vysokým provozem. Existují dva hlavní typy vyrovnávačů zátěže L4 a L7.
L4 load balancer je mnohem bezpečnější a výkonnější kvůli omezením při chytrých rozhodnutích
L7 load balancer funguje tak, aby poskytoval inteligentní rozhodnutí o směrování kvůli nákladům na efektivitu a bezpečnost
Výběr vhodného typu závisí na požadavcích systému a měl by být pečlivě zvážen s přiměřenou rovnováhou uplatňování bezpečnostních principů a odstraňování úzkých míst výkonu.
Publikováno také zde.