10 Open Source Load Balancer för HA och förbättrad prestanda

Ett av de snabbaste och enklaste sätten att sätta upp en applikation med hög tillgänglighet och förbättra prestanda är att implementera lastbalanseraren (LB).

På hög nivå finns tre typer av lastbalanserare.

  • Hårdvarubaserad
  • Molnbaserat
  • Mjukvarubaserad

En hårdvarulastbalanserare är en dedikerad apparat för att tillhandahålla lastfördelning och dess relevanta funktioner. Några av de populära LB-hårdvaruleverantörerna är:

De är dyra men ger dig full kontroll.

Molnbelastningsutjämnaren är mer trendig än någonsin.

Att använda moln LB är ett av de prisvärda sätten att njuta av alla funktioner utan att investera i en hårdvaruenhet. Du betalar för det du använder. Följande är några av de kända molnet LB.

Du kan komma igång från så lite som $20 per månad.

Och den sista är mjukvarubaserad där du själv installerar, hanterar och konfigurerar LB-programvara. Detta kan vara antingen kommersiellt eller öppen källkod/gratis.

Om du inte har en budget eller vill utforska en gratis belastningsutjämnare lösning så kommer nedan att hjälpa dig.

Gungbräda

Använd av Googleen pålitlig Linux-baserad virtuell lastbalanserare för att tillhandahålla nödvändig lastfördelning i samma nätverk.

Gungbräda är utvecklat i Go-språket och fungerar bra på Ubuntu/Debian-distro. Den stöder anycast och DSR (direkt serverretur), och kräver två Seesaw-noder. De kan vara antingen fysiska eller virtuella.

Värt att nämna att Seesaw fungerar med lager fyra nätverk, så om du letar efter lager sju lastbalansering så kanske du vill utforska andra alternativ.

KEMP

En GRATIS avancerad applikationsleveranskontroller av KEMP stöds på alla större hypervisorer. Du kan antingen ladda ner och använda den i ditt datacenter eller distribuera den i moln DC som AWS eller Azure.

Det är gratis men erbjuder en kommersiell nivå av funktioner inklusive de nedan.

  • Layer 4 lastbalansering för TCP/UDP med round-robin eller minst anslutningsalgoritmer
  • Balansering av lager 7
  • Integrera en brandvägg för webbapplikationer (WAF)
  • Inbyggd intrångsskyddsmotor (IPS)
  • Sann global serverbelastningsbalansering, stöder multi-site
  • Cachning, innehållskomprimering, innehållsbyte
  • Webbcookiebeständighet
  • IPSec tunnling
  • Förautentisering
  • Låt oss kryptera
  • Kubernetes

KEMP LB används av några av de stora märkena som Apple, Sony, JP Morgan, Audi, Hyundai, etc. Gratisutgåvan ger tillräckliga funktioner; men om du behöver mer kan du kolla in deras kommersiella licens.

Om du eller din organisation bestämmer dig för att utforska KEMP LB och behöver lite onlineutbildning, kan du hänvisa till detta onlinekurs av Mike Walton.

HAProxy

En av de populära där ute på marknaden är att tillhandahålla hög tillgänglighet, proxy, TCP/HTTP-lastbalansering. HAProxy används av några av de välrenommerade varumärkena i världen, som nedan.

Några av de värda att nämna funktionerna är.

  • Stöd IPv6 och UNIX-socket
  • Deflate & Gzip-komprimering
  • Hälsokontroll
  • Källbaserad sessionsklibbighet
  • Inbyggd statistikrapportering (utcheckning demo)

Som du kan förvänta dig har HAProxy Enterprise Edition, hårdvara och virtuell apparat.

Det bästa sättet att veta om HAProxy är att prova dem. Community Edition kommer med massor av funktioner, och de är GRATIS ändå.

ZEVENET

Zevenet stöder L3, L4 och L7. Den är tillgänglig som källkod, IOS-bild och i ett dockningsförråd.

Den stöder avancerad hälsokontrollövervakning, så felaktiga servrar/tjänster är snabbt ur drift för att ge en sömlös användarupplevelse. Zevenet tidigare känt som Zen fungerar bra med ett TCP-baserat protokoll som FTP, SIP, SSL, HTTP, etc.

Om du letar efter Zevenet-värd kan du prova Kamatera.

Neutrino

Neutrino används av eBay och byggs med Scala & Netty. Den stöder minsta anslutnings- och round-robin-algoritmer med följande växlingsfunktioner.

  • Använder kanoniska namn
  • Kontextbaserad
  • L4 med TCP-portnummer

Neutrino har testats för att hantera 300+ förfrågningar per sekund genomströmning på 2-kärnig virtuell dator. Om du jämför med HAProxy, så är en stor fördel med att använda Neutrino L7-växling.

Men som alltid, prova båda och se vad som fungerar bäst för din miljö.

Balans

Balans av In lab networks är en TCP-proxy round-robin LB som stöder IPv6 på lyssningssidan. Det betyder att du kan ha IPv4 på fronten och IPv6 på baksidan.

Den har alla grundläggande LB-funktioner.

Penna

Penna är testat på Linux, FreeBSD, HP-UX, Solaris och Windows men ingen anledning att det inte skulle fungera på en annan Unix-distro. Den stöder UDP och TCP-baserade protokoll som HTTP, SNMP, DNS, etc.

Några av funktionerna inkluderar följande tillsammans med de grundläggande.

  • GeoIP-filter
  • SSL uppsägning
  • IPv4- och IPv6-kompatibilitet

Nginx

Jag vet vad du kanske tänker. Nginx är en webbserver, proxyserver, etc. Men Nginx med öppen källkod stöder en grundläggande nivå av innehållsväxling och distribution av begäran om routing över flera servrar.

Nginx Plus-utgåvan är dock mycket mer än så.

Nginx Plus är en allt-i-ett leveranslösning för webbapplikationer inklusive lastbalansering, innehållscache, webbserver, WAF, övervakning, etc. Den tillhandahåller en högpresterande lastbalanseringslösning för att skala applikationer för att betjäna miljontals förfrågningar per sekund.

Traefik

En modern och snabb HTTP-reservproxy och LB byggd med GO. Traefik stödja flera back-end-tjänster Amazon ECS, Docker, Kubernetes, Rancher, etc.

Den stöder WebSockets, HTTP/2, automatisk SSL-certifikatförnyelse med Let’s encrypt, rent gränssnitt för att hantera och övervaka resurserna.

Gobetween

Gobetween är en minimalistisk men ändå kraftfull högpresterande L4 TCP, TLS & UDP-baserad lastbalanserare.

Det fungerar på flera plattformar som Windows, Linux, Docker, Darwin och om du är intresserad kan du bygga från källkod. Balansering görs utifrån följande algoritmer du väljer i konfigurationen.

  • IP-hash
  • Världsberömd – round-robin
  • Minst bandbredd
  • Minst anslutning
  • Vikt

Baserat på det här riktmärkeGo-between är snabbare än HAProxy men inte från Nginx.

Om du letar efter en modern L4-balanseringslösning med auto-discovery för den dynamiska miljön, så verkar Go-between lovande. Ge det ett försök för att se hur det går.

Slutsats

Jag hoppas att den ovan angivna programvaran för belastningsbalansering med öppen källkod hjälper dig att välja en för din applikation. De är alla GRATIS, så det bästa sättet att hitta det som fungerar är att prova dem.

Om du vill lära dig nya färdigheter, testa Udemy, där tusentals videokurser finns tillgängliga.