Eine der schnellsten und einfachsten Möglichkeiten, eine Anwendung mit hoher Verfügbarkeit einzurichten und die Leistung zu verbessern, ist die Implementierung eines Load Balancers (LB).

Im Großen und Ganzen gibt es drei Arten von Lastverteilern.

  • Hardware-basiert
  • Cloud-basiert
  • Software-basiert

Ein Hardware-Load-Balancer ist ein spezielles Gerät, das die Lastverteilung und die damit verbundenen Funktionen bereitstellt. Einige der beliebtesten LB-Hardware-Anbieter sind:

  • F5
  • TP-Link
  • Barracuda

Sie sind zwar teuer, bieten Ihnen aber die volle Kontrolle.

Cloud Load Balancer sind mehr denn je im Trend.

Die Nutzung von Cloud LB ist eine der erschwinglichen Möglichkeiten, alle Funktionen zu nutzen, ohne in eine Hardware-Appliance zu investieren. Sie zahlen für das, was Sie nutzen. Im Folgenden finden Sie einige der bekannten Cloud LB.

  • AWS
  • Google Wolke
  • Cloudflare
  • Incapsula
  • DigitalOcean
  • Azure

Sie können bereits ab $20 pro Monat damit beginnen.

Und die letzte Variante ist softwarebasiert, bei der Sie die LB-Software selbst installieren, verwalten und konfigurieren. Diese kann entweder kommerziell oder Open-Source/kostenlos sein.

Wenn Sie kein Budget haben oder eine kostenlose Lösung für Load Balancer ausprobieren möchten, hilft Ihnen das Folgende weiter.

Seesaw

Ein zuverlässiger Linux-basierter virtueller Load Balancer-Server, der von Google eingesetzt wird, um die notwendige Lastverteilung im selben Netzwerk zu gewährleisten.

Seesaw wurde in der Sprache Go entwickelt und funktioniert gut auf Ubuntu/Debian-Distributionen. Er unterstützt Anycast und DSR (Direct Server Return) und benötigt zwei Seesaw-Knoten. Diese können entweder physisch oder virtuell sein.

Es ist erwähnenswert, dass Seesaw mit Layer-Vier-Netzwerken arbeitet. Wenn Sie also einen Lastausgleich auf Layer sieben benötigen, sollten Sie sich nach anderen Optionen umsehen.

KEMP

Ein KOSTENLOSER fortschrittlicher Application Delivery Controller von KEMP wird von allen wichtigen Hypervisoren unterstützt. Sie können ihn entweder herunterladen und in Ihrem Rechenzentrum verwenden oder ihn in einem Cloud-DC wie AWS oder Azure einsetzen.

YouTube video

Es ist kostenlos, bietet aber ein kommerzielles Niveau an Funktionen, einschließlich der unten aufgeführten.

  • Layer 4-Lastausgleich für TCP/UDP mit Round-Robin- oder Least Connection-Algorithmen
  • Schicht-7-Ausgleich
  • Integration einer Web Application Firewall (WAF)
  • Eingebaute Intrusion Prevention Engine (IPS)
  • Echter globaler Server-Lastausgleich, unterstützt mehrere Standorte
  • Caching, Inhaltskomprimierung, Inhaltsumschaltung
  • Persistenz von Web-Cookies
  • IPSec-Tunneling
  • Vor-Authentifizierung
  • Let’s Encrypt
  • Kubernetes

KEMP LB wird von einigen großen Marken wie Apple, Sony, JP Morgan, Audi, Hyundai, usw. verwendet. Die kostenlose Version bietet ausreichende Funktionen; wenn Sie jedoch mehr benötigen, können Sie sich die kommerzielle Lizenz ansehen.

Wenn Sie oder Ihr Unternehmen sich für KEMP LB entscheiden und eine Online-Schulung benötigen, können Sie sich diesen Online-Kurs von Mike Walton ansehen.

HAProxy

Eine der beliebtesten Lösungen auf dem Markt ist die Hochverfügbarkeits-, Proxy- und TCP/HTTP-Lastausgleichslösung. HAProxy wird von einigen der bekanntesten Marken der Welt verwendet, wie z.B. den folgenden.

  • Airbnb
  • GitHub
  • Imgur
  • Reddit

Einige der erwähnenswerten Funktionen sind.

  • Unterstützung von IPv6 und UNIX-Socket
  • Deflate- und Gzip-Komprimierung
  • Gesundheitsprüfung
  • Quellbasierte Session-Stickiness
  • Eingebaute Statistikberichte ( Demo ansehen)

Wie Sie vielleicht erwarten, hat HAProxy eine Enterprise Edition, Hardware und eine virtuelle Appliance.

haproxy

Der beste Weg, HAProxy kennenzulernen, ist, sie auszuprobieren. Die Community Edition bietet eine Vielzahl von Funktionen, die zudem KOSTENLOS sind.

ZEVENET

Zevenet unterstützt L3, L4 und L7. Es ist als Quellcode, IOS-Image und in einem Docker-Repository verfügbar.

zevenet

Es unterstützt fortschrittliche Health-Check-Überwachung, so dass fehlerhafte Server/Dienste schnell außer Betrieb genommen werden können, um eine nahtlose Benutzererfahrung zu gewährleisten. Zevenet, früher unter dem Namen Zen bekannt, funktioniert gut mit TCP-basierten Protokollen wie FTP, SIP, SSL, HTTP usw.

Wenn Sie auf der Suche nach Zevenet-Hosting sind, sollten Sie Kamatera ausprobieren.

Neutrino

Neutrino wird von eBay verwendet und wurde mit Scala und Netty entwickelt. Es unterstützt Least-Connection- und Round-Robin-Algorithmen mit den folgenden Schaltfunktionen.

  • Verwendung kanonischer Namen
  • Kontextbasiert
  • L4 unter Verwendung von TCP-Portnummern
neutrino

Neutrino ist für einen Durchsatz von 300 Anfragen pro Sekunde auf einer 2-Kern-VM getestet. Wenn Sie einen Vergleich mit HAProxy anstellen, dann ist ein großer Vorteil von Neutrino die L7-Umschaltung.

Aber wie immer sollten Sie beides ausprobieren und sehen, was für Ihre Umgebung am besten geeignet ist.

Balance

Balance von In lab networks ist ein TCP-Proxy Round-Robin LB, der IPv6 auf der Abhörseite unterstützt. Das bedeutet, dass Sie IPv4 am vorderen Ende und IPv6 am hinteren Ende haben können.

Er verfügt über alle grundlegenden LB-Funktionen.

Pen

Pen wurde auf Linux, FreeBSD, HP-UX, Solaris und Windows getestet, aber es gibt keinen Grund, warum es nicht auch auf anderen Unix-Distributionen funktionieren sollte. Es unterstützt UDP- und TCP-basierte Protokolle wie HTTP, SNMP, DNS, usw.

Einige der Funktionen umfassen neben den grundlegenden auch die folgenden.

  • GeoIP-Filter
  • SSL-Terminierung
  • IPv4- und IPv6-Kompatibilität

Nginx

Ich weiß, was Sie jetzt vielleicht denken. Nginx ist ein Webserver, Proxyserver usw. Aber das Open-Source Nginx unterstützt ein grundlegendes Niveau von Content Switching und die Verteilung von Anfragen über mehrere Server.

Die Nginx Plus Edition ist jedoch viel mehr als das.

nginx-lb

Nginx Plus ist eine All-in-One-Lösung für die Bereitstellung von Webanwendungen, einschließlich Load Balancing, Content Caching, Webserver, WAF, Überwachung usw. Es bietet eine leistungsstarke Load-Balancer-Lösung zur Skalierung von Anwendungen, die Millionen von Anfragen pro Sekunde bedienen.

Traefik

Ein moderner und schneller HTTP-Reserve-Proxy und LB, der mit GO entwickelt wurde. Traefik unterstützt mehrere Backend-Dienste wie Amazon ECS, Docker, Kubernetes, Rancher usw.

traefik

Es unterstützt WebSockets, HTTP/2, die automatische Erneuerung von SSL-Zertifikaten mit Let’s encrypt, eine übersichtliche Oberfläche zur Verwaltung und Überwachung der Ressourcen.

Gobetween

Gobetween ist ein minimalistischer und dennoch leistungsstarker L4 TCP, TLS & UDP-basierter Load Balancer.

gobetween-lb

Er läuft auf mehreren Plattformen wie Windows, Linux, Docker, Darwin und kann bei Interesse auch aus dem Quellcode erstellt werden. Die Lastverteilung erfolgt auf der Grundlage der folgenden Algorithmen, die Sie in der Konfiguration auswählen.

  • IP-Hash
  • Weltberühmt – round-robin
  • Geringste Bandbreite
  • Geringste Verbindung
  • Gewicht

Basierend auf diesem Benchmark ist Go-between schneller als HAProxy, aber nicht von Nginx.

gobetween-benchmark

Wenn Sie nach einer modernen L4-Balancing-Lösung mit automatischer Erkennung für die dynamische Umgebung suchen, dann scheint Go-between vielversprechend. Probieren Sie es aus, um zu sehen, wie es läuft.

Fazit

Ich hoffe, die oben aufgeführte Open-Source-Load-Balancer-Software hilft Ihnen bei der Auswahl einer Lösung für Ihre Anwendung. Sie sind alle KOSTENLOS, so dass Sie am besten herausfinden, was funktioniert, indem Sie sie ausprobieren.

Wenn Sie neue Fähigkeiten erlernen möchten, sollten Sie Udemy ausprobieren, wo Tausende von Videokursen verfügbar sind.