Vorteile der Verwendung von Nginx oder HA Proxy als Load Balancer

9

In unserer Umgebung verwenden wir sowohl Nginx als auch HA Proxy auf verschiedenen Clustern. Gibt es Vorteile der Verwendung übereinander?

Oder wie geht man am besten zum Lastenausgleich eines einfachen LAMP-Serverclusters?

Jason
quelle

Antworten:

8

(Ich gehe nicht auf den "besten Weg zum Lastausgleich" ein, da dies offensichtlich situationsspezifisch ist.)

Sowohl HAProxy als auch Nginx eignen sich hervorragend für Open-Source-HTTP-Load-Balancer unter Unix. Auf einem sehr hohen Niveau sind IMHO die Vor- und Nachteile, die zuerst in den Sinn kommen:

Nginx:

  • Kann SSL-Offloading durchführen (oft ein großes Problem).
  • Verfügt über eine Vielzahl von Modulen für die Inhaltsverarbeitung, z. B. das Umschreiben von Headern, die Komprimierung von Inhalten usw.
  • Kann manchmal "das einzige HTTPd sein, das Sie benötigen", was die Verwaltung vereinfacht, wenn Sie keine anderen HTTPd benötigen.
  • Erweiterbarer mit Plugins, FX für das Routing von Verkehr.

HAProxy:

  • Kann eine höhere Leistung auf einem einzelnen Server als Nginx bieten (insbesondere im TCP-Modus wurden 10 Gbit / s nachgewiesen ).
  • IMHO einfacher in Betrieb zu nehmen für einfache HTTP-Load-Balancing-Setups.
  • Änderungen etwas weniger, insbesondere die etwas älteren stabilen Zweige bleiben oft eine Weile ohne Sicherheits- und Stabilitätsaktualisierungen.

Aber wie gesagt, beide sind eine ausgezeichnete Wahl. Wählen Sie die aus, mit der Sie sich am wohlsten fühlen.

Jesper M.
quelle
1
Die Komprimierung ist ein großes Plus für Nginx, daher habe ich mich für Haproxy + Nginx entschieden, um ein einfaches Failover (Haproxy) und eine GZIP-Komprimierung (Nginx) zu erhalten.
Alexis Lê-Quôc
2

Das hängt wirklich davon ab, was Sie tun möchten.

Nginx kann die Last zwischen Clustern aufteilen und bestimmte Domänen an verschiedene Cluster weiterleiten. Unsere Nginx-Leistung war zufriedenstellend. Es ist eher wie ein Load Router.

Ich weiß, dass Haproxy den Serverstatus ständig abfragt und den Server überprüft, bevor der Datenverkehr an ihn weitergeleitet wird. Es hat auch eine Oberfläche, über die Sie Statistiken anzeigen können. nginx Ich glaube nicht, dass dies in beiden Punkten der Fall ist.

Daniel Baker
quelle
1

Wir verwenden Nginx als Webserver und sind sehr zufrieden damit. Ich werde nie wieder zu Apache zurückkehren. Der Nachteil ist, wenn Sie beabsichtigen, PHP auszuführen. Es erfordert einige Hackery-Jiggery, damit es unter fastCGI funktioniert.

Vergessen Sie nicht, den Lack zum Zwischenspeichern einzusetzen! Dieser einfache Schritt löst viele Probleme, wenn Websites mit Slashdotted / Fireballed versehen werden!

gWaldo
quelle
0

Ich bin kein Experte in diesem Bereich, aber meines Wissens hat HAProxy eine bessere Leistung und ist in Bezug auf den Lastausgleich besser konfigurierbar.

Jetzt könnte ich eine Liste mit Vergleichen und Benchmarks auf Sie werfen, aber ich werde stattdessen nur die Google-Ergebnisse mit https://encrypted.google.com/search?q=nginx+vs+haproxy verknüpfen

Nicht verfügbar
quelle