10 Open Source Load Balancer pro HA a vylepšený výkon

Jedním z nejefektivnějších a nejjednodušších způsobů, jak zajistit vysokou dostupnost aplikace a navýšit její výkon, je implementovat systém pro rozkládání zátěže, známý také jako load balancer (LB).

V zásadě rozlišujeme tři základní kategorie load balancerů:

  • Hardwarové
  • Cloudové
  • Softwarové

Hardwarový load balancer je specializované zařízení navržené pro distribuci zátěže a plnění souvisejících funkcí. Někteří z významných dodavatelů hardwarových LB zahrnují:

Jsou sice nákladné, ale poskytují úplnou kontrolu nad systémem.

Cloudové load balancery se stávají stále populárnější volbou.

Použití cloudového LB je výhodnou cestou, jak využívat kompletní funkčnost bez nutnosti investovat do hardwarových zařízení. Platí se pouze za skutečně spotřebované zdroje. Mezi známé cloudové LB patří například:

Ceny mohou začínat již od 20 dolarů měsíčně.

A nakonec, softwarová řešení, kde si uživatel sám instaluje, spravuje a konfiguruje LB software. Může se jednat o komerční produkty nebo o open-source/bezplatná řešení.

Pokud nemáte rozpočet nebo chcete prozkoumat bezplatné možnosti, následující přehled vám může být užitečný.

Seesaw

Používaný společností Google, je to spolehlivý server pro vyrovnávání zátěže založený na Linuxu, který zajišťuje rozložení zátěže v rámci lokální sítě.

Seesaw je napsaný v jazyce Go a je optimalizován pro distribuce Ubuntu/Debian. Podporuje Anycast a DSR (Direct Server Return) a vyžaduje dva uzly Seesaw, které mohou být fyzické nebo virtuální.

Je důležité poznamenat, že Seesaw pracuje se sítěmi čtvrté vrstvy, takže pokud potřebujete vyrovnávání zátěže sedmé vrstvy, bude vhodné hledat jiné alternativy.

KEMP

Bezplatný a pokročilý řadič pro doručování aplikací od společnosti KEMP je kompatibilní se všemi hlavními hypervizory. Lze ho stáhnout a používat ve vlastním datovém centru nebo nasadit v cloudovém prostředí, jako jsou AWS nebo Azure.

Je nabízen zdarma, avšak disponuje funkcemi na komerční úrovni, včetně následujících:

  • Vyrovnávání zátěže na vrstvě 4 pro TCP/UDP s využitím algoritmů round-robin nebo least connections
  • Vyrovnávání zátěže na vrstvě 7
  • Integrace webového aplikačního firewallu (WAF)
  • Vestavěný modul pro prevenci narušení (IPS)
  • Skutečné globální vyrovnávání zátěže serveru s podporou multi-site
  • Caching, komprese obsahu, přepínání obsahu
  • Perzistence webových cookies
  • IPSec tunelování
  • Předběžná autentizace
  • Let’s Encrypt
  • Kubernetes

KEMP LB využívají významné společnosti jako Apple, Sony, JP Morgan, Audi, Hyundai a další. Bezplatná edice nabízí dostatek funkcí, a pokud potřebujete víc, můžete se podívat na komerční licenci.

Pokud se vy nebo vaše organizace rozhodnete prozkoumat KEMP LB a potřebujete online školení, můžete se obrátit na online kurz Mikea Waltona.

HAProxy

Jedním z populárních řešení na trhu pro zajištění vysoké dostupnosti, proxy a vyrovnávání zátěže pro TCP/HTTP je HAProxy. Používá ho řada renomovaných značek po celém světě, jak je uvedeno níže.

Některé z jeho funkcí stojí za zmínku:

  • Podpora IPv6 a UNIX socket
  • Komprese Deflate & Gzip
  • Kontrola zdravotního stavu serverů
  • Session stickiness založená na zdroji
  • Vestavěný reporting statistik (zkuste demo)

HAProxy nabízí i podnikovou edici, hardwarová řešení a virtuální appliance.

Nejlepší způsob, jak se s HAProxy seznámit, je otestovat ho. Komunitní edice má mnoho funkcí a je zcela ZDARMA.

ZEVENET

Zevenet podporuje L3, L4 a L7. Je k dispozici jako zdrojový kód, IOS image a v Docker repository.

Poskytuje pokročilé monitorování zdravotního stavu serverů, což umožňuje rychle vyřadit vadné servery/služby, aby se zajistil bezproblémový uživatelský zážitek. Zevenet, dříve známý jako Zen, funguje dobře s protokoly založenými na TCP, jako jsou FTP, SIP, SSL, HTTP a další.

Pokud hledáte hosting pro Zevenet, můžete vyzkoušet Kamatera.

Neutrino

Neutrino, využívané eBay, je vyvinuto v jazycích Scala & Netty. Podporuje algoritmy least connections a round robin s funkcemi switchování:

  • Použití kanonických jmen
  • Kontextově založené
  • L4 pomocí čísel portů TCP

Neutrino bylo testováno na zpracování více než 300 požadavků za sekundu na 2jádrovém virtuálním stroji. Ve srovnání s HAProxy je jednou z hlavních výhod Neutrina přepínání na L7.

Jako vždy, vyzkoušejte obě řešení a zjistěte, které nejlépe vyhovuje vašemu prostředí.

Balance

Balance od společnosti In lab networks je TCP proxy round-robin LB, které podporuje IPv6 na straně naslouchání. To znamená, že můžete mít IPv4 na frontendu a IPv6 na backendu.

Má všechny základní funkce LB.

Pen

Pen byl testován na Linuxu, FreeBSD, HP-UX, Solaris a Windows, ale neměl by mít problém fungovat i na jiných unixových distribucích. Podporuje protokoly UDP a TCP, jako jsou HTTP, SNMP, DNS atd.

Některé z funkcí zahrnují následující, kromě základních:

  • GeoIP filtr
  • SSL Termination
  • Kompatibilita IPv4 a IPv6

Nginx

Možná si říkáte, že Nginx je webový server, proxy server atd. Nicméně open-source verze Nginx podporuje základní funkce switchování obsahu a distribuce požadavků na více serverů.

Edice Nginx Plus ale nabízí mnohem více.

Nginx Plus je komplexní řešení pro doručování webových aplikací, včetně vyrovnávání zátěže, cachování obsahu, webového serveru, WAF, monitoringu a dalších. Poskytuje vysoce výkonné řešení pro vyrovnávání zátěže a škálování aplikací, které zvládne obsloužit miliony požadavků za sekundu.

Traefik

Moderní a rychlé HTTP reverse proxy a LB vytvořené v jazyce GO. Traefik podporuje různé backend služby, jako jsou Amazon ECS, Docker, Kubernetes, Rancher a další.

Podporuje WebSockets, HTTP/2, automatickou obnovu SSL certifikátů s Let’s Encrypt, přehledné rozhraní pro správu a monitorování zdrojů.

Gobetween

Gobetween je minimalistické, ale výkonné a vysoce výkonné L4 TCP, TLS a UDP řešení pro vyrovnávání zátěže.

Je kompatibilní s různými platformami, jako jsou Windows, Linux, Docker, Darwin a v případě potřeby je možné ho sestavit ze zdrojového kódu. Vyvažování zátěže probíhá na základě následujících algoritmů, které si zvolíte v konfiguraci:

  • IP hash
  • Round Robin
  • Nejmenší šířka pásma
  • Nejmenší počet připojení
  • Váha

Podle benchmarku je Go-between rychlejší než HAProxy, ale ne než Nginx.

Pokud hledáte moderní řešení pro L4 vyvažování zátěže s automatickým zjišťováním pro dynamické prostředí, Go-between se zdá být slibnou volbou. Vyzkoušejte a uvidíte, jak bude fungovat.

Závěr

Doufám, že vám tento přehled open-source softwaru pro vyrovnávání zátěže pomůže vybrat ten správný pro vaši aplikaci. Všechny uvedené nástroje jsou ZDARMA, takže nejlepší způsob, jak zjistit, co funguje, je vyzkoušet si je.

Pokud se chcete naučit nové dovednosti, zkuste Udemy, kde je k dispozici spousta videokurzů.