Ich prüfe eine Reihe möglicher Optionen für den Lastenausgleich.
Bisher beschränke ich mich auf folgende Optionen:
DNS-Server-Lastenausgleich, der auf einen Cluster von Tomcat-Servern mit Terrakotta für die Sitzungsreplikation verteilt wird. Vorteile - Sie müssen kein neues Kit kaufen. Nachteile - DNS lb kann die Weiterleitung zu einem kaputten Server fortsetzen.
Hardware Load Balancer, direkt zum Cluster von Tomcat-Servern. Profis - zweite Box für Failover haben lb. Cons - Kosten.
Apache Server Load-Balancer. Pros - £ -Umfragen von Apache nach kaputten Servern. Der Cons-Apache-Server ist ein Single-Point-of-Failure-Server. Außerdem muss ein weiterer Server gekauft werden.
Gibt es noch andere Optionen, die ich in Betracht ziehen sollte?
Vielen Dank.
Update: Vielen Dank für alle bisherigen Antworten. Ich akzeptiere noch keine Antwort, damit weitere Ideen kommen.
Antworten:
Ich würde nicht für DNS-basierte Pfund gehen - genau aus dem Grund, den Sie auflisten.
nginx oder lack kann Ihre andere £ / Failover-Option sein, die vor appservs steht und als Reverse-Proxy fungiert. Sie erfordern mehr Pflege als die Hardware-Box, sparen aber eine Menge Geld. Stellen Sie sicher, dass Sie diese Balancer auch in einen Cluster einfügen [Aktiv-Passiv mit Herzschlag reicht aus ].
quelle
Wenn Sie sich Load Balancer-Appliances ansehen, können Sie mit F5 Big-IP wirklich nichts falsch machen
Bearbeiten: Der Grund, warum ich sage, dass Sie sich für Big-IP entscheiden, ist, dass es eine nette Appliance für Serveradministratoren ist, die nicht viel Erfahrung mit Netzwerk-Appliances haben. Es hat eine schöne Weboberfläche mit nahezu unbegrenzten Optionen für Konfiguration und Berichterstellung. Sie sind die zuverlässigsten und kostengünstigsten Lastausgleichsoptionen für Unternehmen.
Hier ist ein Link zu einer Studie zu Anwendungsbereitstellungsoptionen im Jahr 2007: Gartner-Ergebnisse
quelle
Ich schlage vor, HAProxy zu verwenden . Das geht extrem schnell. Sie können Single Point of Failure auch umgehen, indem Sie zwei Loadbalancer mit CARP (* BSD) oder UCARP / LVS (Linux) verwenden.
quelle
Wir verwenden Coyote Point Equalizer (Hardware Load Balancer) seit Jahren und sind sehr zufrieden mit ihnen. Sie haben vielleicht nicht alle Funktionen eines F5, aber sie haben immer noch viele Funktionen und sie kosten viel weniger. Leistung und Zuverlässigkeit waren beide hervorragend.
quelle
Ich tendiere dazu, Hardware-LBs zu wählen, da diese oft sehr viel Verkehr bewältigen, häufig "einfacher" sind, besser / einfacher gehärtet werden können und manchmal auch andere Sicherheitsprobleme wie SYN-Flood-Angriffe in Hardware bewältigen können. Ich benutze Foundry, aber es gibt jede Menge Auswahlmöglichkeiten (F5, Cisco usw.) - allerdings teuer :(
quelle
Der Cisco GSS (Global Site Selector) ist ein DNS-Server, der auch Integritätsprüfungen durchführt. Dies ist offensichtlich eine teurere Option als ein Standard-DNS-Server. Webseite mit weiteren Details hier: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html
Wie in Chopper3 bereits erwähnt, bietet der hardwarebasierte Lastausgleich wahrscheinlich eine höhere Leistung, die Sie jedoch bezahlen müssen.
Zu den Funktionen, nach denen Sie suchen können, gehören: SSL-Offloading, VLAN-Unterstützung, Kontexte, Clustering, Unterstützung für Routing-Protokolle und Unterstützung / Interaktion mit verschiedenen Anwendungen (z. B. HTML-Cookies und Header-Änderung).
quelle
Hast du dir ldirectord angesehen ?
Es läuft unter Linux, kann mit Herzschlag auf denselben Rechnern ausgeführt werden, auf denen es Lastenausgleich betreibt (und verfügt daher über eine gewisse Redundanz) - oder natürlich, auf einer eigenen Box vor sich, ist es einfach zu konfigurieren, leicht und sehr leistungsfähig .
quelle
Ich fand, dass Kreuzung ein ausgezeichneter Lastausgleich war. Es hat unsere Produktionslast für gut sieben Monate bewältigt, während die Netzwerk-Leute ein Hardware-Problem mit einem Cisco Load Balancer behoben haben.
quelle
Ich habe einen softwarebasierten Load Balancer geschrieben, für den kein separater Computer erforderlich ist.
Der Nachteil ist, dass es nicht wirklich produktionsbereit ist - aber wenn Sie es in Ihrem Testnetzwerk testen möchten, würde ich mich freuen.
Fluffy Cluster ist da
Es ist im Grunde genommen der NLB von Microsoft (glaube ich) oberflächlich ähnlich - obwohl ich ihre Quelle nicht habe und nicht genau weiß, wie ihre funktioniert.
Natürlich überwachen wir die Anwendungsebene nicht automatisch, aber Sie können etwas schreiben, das dies tut, und die Gewichtung ändern oder Knoten entsprechend entfernen.
EDIT: Sie haben nicht gesagt, welches Betriebssystem, Fluffy Cluster ist im Moment nur Linux.
quelle
keepalived ist ein weiterer Linux-Load-Balancer, der (offensichtlich) mehrere Load-Balancing-Algorithmen und VRRP unterstützt, um redundante Instanzen mit automatischem Failover zu erstellen, wenn eine Load-Balancer-Box ausfällt
quelle
Wenn Geld keine Rolle spielt, besorgen Sie sich einen Hardwarelastausgleicher.
Die Firma, für die ich arbeite, verwendet Apache, um unsere Tomcat-Server zu betreuen, und der Load Balancer befindet sich auf derselben Box wie einige der Tomcats (Tomcats verwenden interne Ports). Wir werden bald auf eine dedizierte Load-Balancer-Box umsteigen. Wir werden jedoch in Kürze zu Nginx wechseln. Ich finde die Konfiguration einfacher und das Ganze viel leichter als Apache. Abhängig von Ihrer Netzwerkarchitektur empfehle ich Ihnen außerdem, eine interne "Floating IP" für den Load Balancer zu verwenden und so etwas wie Heartbeat auszuführen, um die IP bei Bedarf auf eine andere Box umzustellen. Das würde Failover-Fähigkeiten hinzufügen, ohne sich um DNS-Weitergabeprobleme zu kümmern.
quelle
Ich habe eine Lösung mit DNSMadeEasy eingerichtet . Sie haben einen schönen Screencast zu DNS-Failover. Sie haben vernünftige Preise. In unserem System haben wir einen einfachen Dienst implementiert, der die verschiedenen Komponenten in unserem System "pingt" (Datenbank, JMS-Warteschlange, S3-Verbindung) und OK zurückgibt, den DNSMadeEasy verwenden kann. Wenn eine Ausnahme auftritt, entfernt DNSMadeEasy diesen Server aus der Liste der Server, die bei dieser DNS-Suche antworten.
quelle
Hast du dir perlbal angesehen?
www.danga.com/perlbal/
quelle
Hallo @toolkit, haben Sie jemals NGinX / Varnish in Ihre LoadBalancer (LB) -Quest implementiert? Wenn ja, was waren Ihre Ergebnisse? (wenn es dir nichts ausmacht, mit uns anderen zu teilen ;-)
Nur um das Obige zusammenzufassen (und eine Erwähnung für ZMQ einzureichen)
Grundlegender Lastenausgleich
Fortgeschrittener
quelle