Ich versuche, mich zwischen einer Layer 4-Lösung für den Lastenausgleich für mein Rechenzentrum und einer Layer 7-Lösung zu entscheiden. Mein Anwendungsfall ist leider so einfach, dass beide Lösungen gut funktionieren, die meisten Schwächen vermeiden und die Stärken des anderen nicht wirklich ausnutzen. Unabhängig davon, welche Lösung wir letztendlich verwenden, muss sie eine hohe Verfügbarkeit und einen hohen Durchsatz aufweisen. Wir planen jedoch nur, den Lastenausgleich für einen Cluster von Webservern zu verwenden, von denen keiner Anforderungen an die Verwaltung von "Sticky" -Sitzungen (Cookie oder IP), komplexe Umschreibregeln - oder im Übrigen Umschreibregeln bei - stellt alle.
Die Load Balancer werden mit zwei Switches verbunden, die beide eine unabhängige Verbindung zur Rechenzentrumsaggregationsschicht haben und mithilfe von Rapid Spanning Tree und dem proprietären Protokoll, das die Switches für die Virtualisierung verwenden, zusammengeführt werden. Die Load Balancer werden auch über ein Crossover-Kabel miteinander vernetzt. Alle Server im Cluster sind mit beiden Switches verbunden. Alles, was die Load Balancer tun müssen, ist den Datenverkehr über sie zu lenken.
Da es sich nur um HTTP handelt, kann ich eine Layer 7-Lastausgleichslösung wie HAProxy oder Nginx verwenden. Ich könnte das LVS-Projekt aber auch mit ldirectord oder keepalived oder was auch immer verwenden.
Ich habe versucht, die Vor-und Nachteile zu trennen, wie ich sie sehe, aber es endet nur in einer Wäsche. Was würdest du empfehlen und warum? Vermisse ich etwas?