Øk applikasjonsytelsen: 10 åpne kildekode lastbalansere

En effektiv og rask metode for å konfigurere applikasjoner med høy tilgjengelighet og forbedre ytelsen er å implementere en lastbalanser (LB).

I hovedsak kan lastbalansere deles inn i tre kategorier:

  • Maskinvarebasert
  • Skybasert
  • Programvarebasert

En maskinvarebasert lastbalanser er en dedikert enhet som håndterer lastfordeling og tilhørende oppgaver. Noen anerkjente leverandører av maskinvarebasert LB er:

Selv om de kan være kostbare, gir de full kontroll.

Skybaserte lastbalansere har økt i popularitet.

Å benytte seg av en skybasert LB er en rimelig måte å dra nytte av alle funksjonene uten å måtte investere i maskinvare. Du betaler kun for det du bruker. Her er noen av de mest kjente skybaserte LB-løsningene.

Du kan komme i gang for så lite som $20 per måned.

Den siste kategorien er programvarebaserte lastbalansere, hvor du selv installerer, administrerer og konfigurerer LB-programvaren. Dette kan være kommersiell programvare eller åpen kildekode/gratis programvare.

Hvis du har et begrenset budsjett eller ønsker å teste ut en gratis lastbalanser, kan følgende alternativer være nyttige.

Seesaw

Utviklet av Google, er Seesaw en pålitelig Linux-basert virtuell lastbalanseringsserver som sørger for nødvendig lastfordeling i samme nettverk.

Seesaw er utviklet i Go-språket og fungerer godt på Ubuntu/Debian-distribusjoner. Den støtter anycast og DSR (Direct Server Return), og krever to Seesaw-noder. Disse kan være fysiske eller virtuelle.

Det er verdt å merke seg at Seesaw fungerer med lag fire-nettverk. Hvis du trenger lag syv lastbalansering, bør du vurdere andre alternativer.

KEMP

En GRATIS avansert applikasjonsleveringskontroller fra KEMP støttes på alle ledende hypervisorer. Du kan laste ned og bruke den i ditt eget datasenter eller distribuere den i skybaserte datasentre som AWS eller Azure.

Den er gratis, men tilbyr funksjoner på kommersielt nivå, inkludert følgende:

  • Lag 4 lastbalansering for TCP/UDP ved bruk av round-robin eller «minst tilkobling»-algoritmer
  • Lag 7 balansering
  • Integrert brannmur for nettapplikasjoner (WAF)
  • Innebygd inntrengningsforebyggende system (IPS)
  • Global serverlastbalansering med støtte for flere lokasjoner
  • Bufring, innholdskomprimering, innholdsbytte
  • Persistens for nettinformasjonskapsler
  • IPSec-tunnelering
  • Forhåndsautentisering
  • «La oss kryptere»-støtte
  • Kubernetes

KEMP LB brukes av store selskaper som Apple, Sony, JP Morgan, Audi, og Hyundai. Gratisversjonen tilbyr et tilstrekkelig antall funksjoner. Hvis du trenger mer, kan du se på de kommersielle lisensene deres.

Hvis du eller din organisasjon vurderer å utforske KEMP LB og trenger opplæring, kan du se dette online kurset av Mike Walton.

HAProxy

HAProxy er en populær løsning for å gi høy tilgjengelighet, proxy-funksjonalitet, og TCP/HTTP-lastbalansering. HAProxy benyttes av flere anerkjente selskaper over hele verden.

Noen viktige funksjoner inkluderer:

  • Støtte for IPv6 og UNIX-sockets
  • Deflate & Gzip-komprimering
  • Helsesjekker
  • Kildebasert session-stickiness
  • Innebygd statistikkrapportering (demo)

HAProxy tilbyr også en enterprise-utgave, maskinvare og virtuelle enheter.

Den beste måten å bli kjent med HAProxy er å prøve den selv. Community Edition tilbyr mange funksjoner og er helt GRATIS.

ZEVENET

Zevenet støtter L3, L4 og L7. Den er tilgjengelig som kildekode, IOS-image og i et docker-repository.

Den støtter avansert helsesjekk-overvåking, slik at feilende servere/tjenester raskt tas ut av drift, for å sikre en sømløs brukeropplevelse. Zevenet, tidligere kjent som Zen, fungerer bra med TCP-baserte protokoller som FTP, SIP, SSL og HTTP.

Hvis du er interessert i Zevenet-hosting, kan du prøve Kamatera.

Neutrino

Neutrino er brukt av eBay og er bygget med Scala & Netty. Den støtter «minst tilkobling» og round-robin-algoritmer med følgende byttefunksjoner:

  • Bruker kanoniske navn
  • Kontekstbasert
  • L4 med TCP-portnumre

Neutrino er testet for å håndtere over 300 forespørsler per sekund på en 2-kjerners virtuell maskin. Sammenlignet med HAProxy, er en stor fordel med Neutrino L7-svitsjing.

Men som alltid, bør du teste begge deler for å se hva som fungerer best for ditt miljø.

Balance

Balance fra In lab networks er en TCP-proxy round-robin LB som støtter IPv6 på lyttesiden. Dette gjør det mulig å ha IPv4 på frontenden og IPv6 på baksiden.

Den har alle de grunnleggende LB-funksjonene.

Pen

Pen er testet på Linux, FreeBSD, HP-UX, Solaris og Windows, men det er ingen grunn til at den ikke skal fungere på andre Unix-distribusjoner. Den støtter UDP og TCP-baserte protokoller som HTTP, SNMP og DNS.

Noen av funksjonene inkluderer:

  • GeoIP-filter
  • SSL-avslutning
  • IPv4- og IPv6-kompatibilitet

Nginx

Du tenker kanskje at Nginx er en webserver, proxy-server osv. Men åpen kildekode-versjonen av Nginx støtter et grunnleggende nivå av innholdsbytte og distribusjon av forespørselsruting over flere servere.

Nginx Plus-utgaven er derimot mye mer enn det.

Nginx Plus er en alt-i-ett leveringsløsning for nettapplikasjoner, inkludert lastbalansering, innholdsbufring, webserver, WAF, overvåking, osv. Den gir en høyytelses lastbalanseringsløsning for å skalere applikasjoner og håndtere millioner av forespørsler per sekund.

Traefik

Traefik er en moderne og rask HTTP-reserveproxy og LB bygget med GO. Traefik støtter flere back-end tjenester som Amazon ECS, Docker, Kubernetes, og Rancher.

Den støtter WebSockets, HTTP/2, automatisk SSL-sertifikatfornyelse med «Let’s Encrypt», og et brukervennlig grensesnitt for administrasjon og overvåking av ressurser.

Go-between

Go-between er en minimalistisk, men kraftig L4 TCP-, TLS- og UDP-basert lastbalanser med høy ytelse.

Den fungerer på flere plattformer som Windows, Linux, Docker og Darwin, og du kan bygge den fra kildekode hvis du ønsker det. Balansering utføres basert på de algoritmene du velger i konfigurasjonen:

  • IP-hash
  • Round-robin
  • Minst båndbredde
  • Minst tilkobling
  • Vekt

Basert på dette benchmarket, er Go-between raskere enn HAProxy, men ikke like rask som Nginx.

Hvis du er på utkikk etter en moderne L4-balanseringsløsning med auto-discovery for et dynamisk miljø, virker Go-between lovende. Test den for å se hvordan den fungerer.

Konklusjon

Jeg håper at denne oversikten over åpen kildekode-lastbalansere hjelper deg med å velge den rette for din applikasjon. De er alle GRATIS, så den beste måten å finne ut hva som fungerer er å teste dem selv.

Hvis du ønsker å lære nye ferdigheter, kan du se på Udemy, hvor det finnes tusenvis av videokurs.