Eine der schnellsten und einfachsten Möglichkeiten, eine Anwendung mit hoher Verfügbarkeit einzurichten und die Leistung zu verbessern, ist die Implementierung des Load Balancer (LB).
Auf hoher Ebene gibt es drei Arten von Load Balancern.
- Hardwarebasiert
- Cloudbasiert
- Softwarebasiert
Ein Hardware-Load-Balancer ist eine dedizierte Appliance zur Bereitstellung der Lastverteilung und ihrer relevanten Funktionen. Einige der beliebtesten Anbieter von LB-Hardware sind:
Sie sind teuer, geben Ihnen aber die volle Kontrolle.
Cloud Load Balancer ist mehr denn je im Trend.
Die Verwendung von Cloud LB ist eine der kostengünstigen Möglichkeiten, alle Funktionen zu nutzen, ohne in eine Hardware-Appliance zu investieren. Sie zahlen für das, was Sie nutzen. Im Folgenden sind einige der bekannten Cloud-LB aufgeführt.
Sie können es schon ab 20 $ pro Monat starten.
Und der letzte ist softwarebasiert, bei dem Sie die LB-Software selbst installieren, verwalten und konfigurieren. Dies kann entweder kommerziell oder Open Source/kostenlos sein.
Wenn Sie kein Budget haben oder eine kostenlose Load Balancer-Lösung ausprobieren möchten, hilft Ihnen das Folgende weiter.
Inhaltsverzeichnis
Wippe
Benutzt von Googleein zuverlässiger Linux-basierter virtueller Load-Balancer-Server, um die notwendige Lastverteilung im selben Netzwerk bereitzustellen.
Wippe wurde in der Go-Sprache entwickelt und funktioniert gut auf der Ubuntu/Debian-Distribution. Es unterstützt Anycast und DSR (Direct Server Return) und erfordert zwei Seesaw-Knoten. Sie können entweder physisch oder virtuell sein.
Erwähnenswert ist, dass Seesaw mit Layer-4-Netzwerken funktioniert. Wenn Sie also nach Layer-7-Load-Balancing suchen, sollten Sie sich vielleicht andere Optionen ansehen.
KEMP
Ein KOSTENLOSER Advanced Application Delivery Controller von KEMP wird auf allen wichtigen Hypervisoren unterstützt. Sie können es entweder herunterladen und in Ihrem Rechenzentrum verwenden oder in Cloud-DC wie AWS oder Azure bereitstellen.
Es ist kostenlos, bietet aber Funktionen auf kommerzieller Ebene, einschließlich der folgenden.
- Layer-4-Load-Balancing für TCP/UDP mit Round-Robin- oder Least-Connection-Algorithmen
- Layer-7-Ausgleich
- Integrieren Sie eine Web Application Firewall (WAF)
- Eingebaute Intrusion Prevention Engine (IPS)
- True Global Server Load Balancing, unterstützt Multi-Site
- Caching, Inhaltskomprimierung, Inhaltsumschaltung
- Persistenz von Web-Cookies
- IPSec-Tunneling
- Vorauthentifizierung
- Lassen Sie uns verschlüsseln
- Kubernetes
KEMP LB wird von einigen der großen Marken wie Apple, Sony, JP Morgan, Audi, Hyundai usw. verwendet. Die kostenlose Edition bietet ausreichende Funktionen; Wenn Sie jedoch mehr benötigen, können Sie sich die kommerzielle Lizenz ansehen.
Wenn Sie oder Ihre Organisation sich entscheiden, KEMP LB zu erkunden und eine Online-Schulung benötigen, können Sie sich darauf beziehen Online-Kurs von Mike Walton.
HAProxy
Eine der beliebtesten auf dem Markt ist die Bereitstellung von Hochverfügbarkeit, Proxy und TCP/HTTP-Lastenausgleich. HAProxy wird von einigen der renommierten Marken der Welt verwendet, wie unten.
Einige der erwähnenswerten Features sind.
- Unterstützt IPv6 und UNIX-Socket
- Deflate & Gzip-Komprimierung
- Gesundheitskontrolle
- Quellenbasierte Sitzungsklebrigkeit
- Integrierte Statistikberichte (checkout Demo)
Wie Sie vielleicht erwarten, hat HAProxy Enterprise Edition, Hardware und virtuelle Appliance erhalten.
Der beste Weg, HAProxy kennenzulernen, ist, sie auszuprobieren. Die Community Edition bietet unzählige Funktionen und sie sind sowieso KOSTENLOS.
ZEVENET
Zevenet unterstützt L3, L4 und L7. Es ist als Quellcode, IOS-Image und in einem Docker-Repository verfügbar.
Es unterstützt eine fortschrittliche Zustandsprüfungsüberwachung, sodass fehlerhafte Server/Dienste schnell außer Betrieb sind, um ein nahtloses Benutzererlebnis zu bieten. Zevenet, früher bekannt als Zen, funktioniert gut mit einem TCP-basierten Protokoll wie FTP, SIP, SSL, HTTP usw.
Wenn Sie nach Zevenet-Hosting suchen, können Sie es versuchen Kamatera.
Neutrino
Neutrino wird von eBay verwendet und mit Scala & Netty erstellt. Es unterstützt Least-Connection- und Round-Robin-Algorithmen mit den folgenden Switching-Funktionen.
- Kanonische Namen verwenden
- Kontextbasiert
- L4 mit TCP-Portnummern
Neutrino wurde getestet, um einen Durchsatz von mehr als 300 Anfragen pro Sekunde auf einer VM mit zwei Kernen zu verarbeiten. Wenn Sie mit HAProxy vergleichen, dann ist ein großer Vorteil der Verwendung von Neutrino das L7-Switching.
Probieren Sie aber wie immer beide aus und sehen Sie, was für Ihre Umgebung am besten funktioniert.
Gleichgewicht
Gleichgewicht von In Lab Networks ist ein TCP-Proxy-Round-Robin-LB, das IPv6 auf der lauschenden Seite unterstützt. Das bedeutet, dass Sie IPv4 am Frontend und IPv6 am Backend haben können.
Es verfügt über alle grundlegenden LB-Funktionen.
Stift
Stift wurde auf Linux, FreeBSD, HP-UX, Solaris und Windows getestet, aber es gibt keinen Grund, warum es nicht auf einer anderen Unix-Distribution funktionieren sollte. Es unterstützt UDP- und TCP-basierte Protokolle wie HTTP, SNMP, DNS usw.
Einige der Funktionen umfassen die folgenden zusammen mit den grundlegenden.
- GeoIP-Filter
- SSL-Beendigung
- IPv4- und IPv6-Kompatibilität
Nginx
Ich weiß, was du vielleicht denkst. Nginx ist ein Webserver, Proxyserver usw. Open-Source-Nginx unterstützt jedoch eine grundlegende Ebene der Inhaltsvermittlung und der Verteilung von Anforderungsrouting über mehrere Server.
Die Nginx Plus Edition ist jedoch viel mehr als das.
Nginx Plus ist eine All-in-One-Lösung für die Bereitstellung von Webanwendungen, einschließlich Lastenausgleich, Inhalts-Caching, Webserver, WAF, Überwachung usw. Es bietet eine leistungsstarke Lastenausgleichslösung zum Skalieren von Anwendungen, um Millionen von Anfragen pro Sekunde zu bedienen.
Traefik
Ein moderner und schneller HTTP-Reserve-Proxy und LB, der mit GO erstellt wurde. Traefik Unterstützung mehrerer Back-End-Dienste Amazon ECS, Docker, Kubernetes, Rancher usw.
Es unterstützt WebSockets, HTTP/2, automatische SSL-Zertifikatserneuerung mit Let’s encrypt, saubere Schnittstelle zur Verwaltung und Überwachung der Ressourcen.
Vermittler
Vermittler ist ein minimalistischer, aber leistungsstarker L4 TCP-, TLS- und UDP-basierter Load Balancer.
Es funktioniert auf mehreren Plattformen wie Windows, Linux, Docker, Darwin und bei Interesse können Sie aus dem Quellcode bauen. Der Ausgleich erfolgt basierend auf den folgenden Algorithmen, die Sie in der Konfiguration auswählen.
- IP-Hash
- Weltberühmt – Round-Robin
- Geringste Bandbreite
- Geringste Verbindung
- Gewicht
Basierend auf BenchmarkGo-between ist schneller als HAProxy, aber nicht von Nginx.
Wenn Sie nach einer modernen L4-Balancing-Lösung mit automatischer Erkennung für die dynamische Umgebung suchen, scheint Go-between vielversprechend. Probieren Sie es aus, um zu sehen, wie es geht.
Fazit
Ich hoffe, die oben aufgeführte Open-Source-Load-Balancer-Software hilft Ihnen bei der Auswahl einer für Ihre Anwendung. Sie sind alle KOSTENLOS. Der beste Weg, um herauszufinden, was funktioniert, ist, sie auszuprobieren.
Wenn Sie neue Fähigkeiten erlernen möchten, probieren Sie Udemy aus, wo Tausende von Videokursen verfügbar sind.