Im Moment haben wir nur einen Back-End-Server pro Site / Web-Service. Es würde mich interessieren, welche Erfahrungen die Leute mit verschiedenen Load-Balancer-Apps machen (etwas, das unter Linux läuft).
Was würdest du empfehlen?
web-applications
web-services
load-balancing
Mark Renouf
quelle
quelle
Die Frage liefert keine spezifischen Informationen über die Auslastung, die benötigten Funktionen usw., daher ist jede Antwort bestenfalls eine Vermutung.
Pfund ist eine gute Wahl für kleinere / mittelgroße Websites. Es bietet HTTPS-Unterstützung und einfache Einrichtung.
HAproxy kann skaliert werden, um 10G-Ethernet-Pipes zu überlasten , und bietet eine Verbindungsbeschränkung, dh es wird nur die Anzahl gleichzeitiger Anforderungen an jeden Back-End- Server gesendet, wenn Sie Apache-Child- / Ruby-on-Rails-Instanzen bearbeiten müssen.
nginx eignet sich hervorragend als Allround-Load-Balancer und als statischer Dateiserver. Es kann HTTP-Komprimierung, URL-Umschreiben und das Bereitstellen statischer Dateien während des Lastenausgleichs ausführen.
Apache ist in der 2.2er Serie auch ein ziemlich guter Load Balancer. Kann fast das Gleiche tun wie nginx, belastet den Server jedoch stärker als nginx. Sehr lohnenswert, wenn Sie bereits mit Apache vertraut und sehr ausgereift sind.
Perlbal bietet eine einfache Beschränkung der Verbindung zu Back-End- Hosts, Multiplexing von Anforderungen über dauerhafte HTTP-Verbindungen und eine einfache Einrichtung, wenn Sie Perl bereits verwenden.
Der Lack-Cache ist ein Reverse-HTTP-Proxy mit grundlegender Lastausgleichsunterstützung. Es ist kein hervorragender Lastenausgleich, aber in einigen Situationen kann das speicherinterne Zwischenspeichern der meisten angeforderten Objekte einen hohen Prozentsatz der Back-End-Server-Zugriffe entfernen und bietet eine hervorragende Leistung. ESI-Includes sind potenziell interessant.
Ich bin mir nicht 100% sicher, aber Perlbal und nginx bieten eine gewisse Unterstützung für das Ändern der Konfiguration, ohne den Load Balancer neu zu starten. Für größere Standorte ist dies von entscheidender Bedeutung, und dies ist eines der Dinge, die gute kommerzielle Load-Balancer-Appliances gut können.
Bei allen oben genannten handelt es sich um Lastausgleichsmodule auf HTTP-Ebene (Schicht 7). Load Balancer auf TCP / IP-Ebene können einen höheren Durchsatz erzielen, sind jedoch auf andere Weise eingeschränkt. Der HAProxy-Autor hat eine gute, lesbare Übersicht über Methoden und Probleme des Lastenausgleichs geschrieben: http://1wt.eu/articles/2006_lb/
LVS ist ein weit verbreiteter Lastenausgleich auf TCP / IP-Ebene. Die meisten Firewalls können auch einen grundlegenden Lastausgleich auf IP-Ebene durchführen, indem sie die eingehende Anfrage über einen Bereich von Back-End-IP-Adressen verteilen - zumindest OpenBSDs PF und Cisco ASA und Juniper Netscreens können dies.
quelle
quelle
Haproxy funktioniert genauso gut wie LVS.
FWIW, verwendet wordpress.com Nginx als Balancer / Proxy.
quelle
Wir verwenden LVS in der Produktion. Es wird von unserem Betriebsteam mit einer Reihe von komplexen und bösen Skripten verwaltet. Ein ziemlich ausgeklügeltes, maßgeschneidertes System gibt die Zustands- und Leistungsdaten unserer Realserver bekannt, damit der Load Balancer die Gewichte entsprechend einstellen kann.
LVS bietet Ihnen natürlich eine einzige Fehlerquelle - den Load Balancer (es gibt Möglichkeiten, sie redundant einzurichten).
Ich dachte, dies sei zu kompliziert, um es einzurichten, und schrieb Fluffy Linux Cluster, das lose darauf basierte, wie Windows NLB funktioniert (ich glaube, ich bin nicht sicher, wie das funktioniert) und auch von CLUSTERIP inspiriert war.
Wir verwenden es nicht in der Produktion, aber Fluffy kann eine angemessene (mindestens 5) Anzahl von Servern ohne Single Point of Failure und ohne zentralen Verwaltungsknoten usw. ausgleichen.
quelle
Ich habe in der Vergangenheit Pfund verwendet . Es ist schnell, einfach und erfordert nur minimale Aufmerksamkeit.
quelle
Ich bin ein großer Fan von Zeus 'ZXTM-Multilayer-LBs - klicken Sie HIER
quelle
Wenn Sie sich für LVS entscheiden, würde ich mich auch mit Keepalived befassen, wenn Sie die Serverschicht für den Lastenausgleich hoch verfügbar machen möchten. Ich hatte Heartbeat / Pacemaker mit LVS für mehrere Monate verwendet und fand es zu kompliziert und manchmal instabil für eine einfache HA LB-Schicht.
quelle