Das wichtigste Unterscheidungsmerkmal zwischen den beiden Lösungen (LVS, HAproxy) ist, dass eine auf Schicht 4 (LVS) und die andere auf Schicht 7 (HAproxy) arbeitet. Beachten Sie, dass die Ebenenreferenzen aus dem OSI-Netzwerkmodell stammen.
Wenn Sie dies verstehen, können Sie eine an der richtigen Stelle verwenden. Beispiel: Wenn Sie den Ausgleich nur anhand der Anzahl der Verbindungen vornehmen müssen (sagen wir mal), sollte der Layer-4-Load-Balancer ausreichen. Wenn Sie dagegen den Load-Balancer basierend auf der HTTP-Antwortzeit ausführen möchten, benötigen Sie eine LB mit einer höheren Ebene.
Die Nachteile der Verwendung eines LB auf höherer Ebene sind die Ressourcen, die benötigt werden (zum Beispiel Verkehr für dieselbe Menge). Die Vorteile liegen auf der Hand - denken Sie an "Packet Level Inspection", "Protocol Routing" usw. - Dinge, die weitaus komplizierter sind als einfaches "Packet Routing".
Der letzte Punkt, den ich machen möchte, ist, dass HAproxy Userspace ist (denken Sie, dass "viel einfacher anzupassen / zu optimieren" ist, aber langsamer (Leistung)), während LVS im Kernel-Space ist (denken Sie, dass "schnell wie die Hölle" ist, aber starr wie der Kernel ). Vergessen Sie auch nicht, dass "ein Upgrade von LVS einen Kernelwechsel bedeuten könnte - also einen Neustart" ...
Verwenden Sie abschließend das richtige Werkzeug für den richtigen Job.