Najważniejszą rzeczą, która odróżnia oba rozwiązania (LVS, HAproxy), jest to, że jedno działa na warstwie 4 (LVS), a drugie na warstwie 7 (HAproxy). Zauważ, że odniesienia do warstw pochodzą z modelu sieciowego OSI.
Jeśli to zrozumiesz, będziesz mógł użyć jednego we właściwym miejscu. Na przykład: jeśli musisz balansować wyłącznie na podstawie liczby połączeń (powiedzmy), moduł równoważenia obciążenia warstwy 4 powinien wystarczyć; z drugiej strony, jeśli chcesz wyrównać obciążenie w oparciu o czas odpowiedzi HTTP, potrzebujesz wyższej warstwy LB.
Wadami używania wyższego poziomu LB jest potrzebny zasób (dla tej samej ilości, powiedzmy, ruchu). Plusy są oczywiste - pomyśl „inspekcja na poziomie pakietu”, „routing protokołu” itp. - rzeczy o wiele bardziej skomplikowane niż proste „routing pakietów”.
Ostatnią kwestią, o której chcę wspomnieć, jest to, że HAproxy to przestrzeń użytkownika (myśl „znacznie łatwiej dostosować / dostosować”, ale wolniej (wydajność)), podczas gdy LVS jest w przestrzeni jądra (myśl „szybko jak diabli”, ale sztywny jak jądro) ). Nie zapomnij również o „aktualizacji LVS może oznaczać zmianę jądra - ergo, restart” ...
Podsumowując, użyj odpowiedniego narzędzia do właściwej pracy.