LVS vs HAProxy, który powinienem wybrać?


21

Szukam rozwiązania do równoważenia obciążenia i strategii przełączania awaryjnego, głównie dla dużych aplikacji internetowych. Mamy wiele usług do zrównoważenia, takich jak web, MySQL i wiele innych usług opartych na HTTP lub TCP. Ale nie jestem pewien, jakie są ich zalety i wady i które powinienem wybrać.

Odpowiedzi:


24

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.


Uwielbiam sposób, w jaki ludzie nadal używają warstw OSI, mimo że nigdy nie zostały zaimplementowane w rzeczywistości.
kubańczyk

9

Powinieneś użyć obu: HAProxy to świetny moduł równoważenia obciążenia, a LVS to rozwiązanie do przełączania awaryjnego i unikania pojedynczego punktu awarii.


1
+1, z wyjątkiem tego, że HAProxy służy głównie do użycia HTTP, ponieważ w przeciwnym razie ukrywa źródłowy adres IP żądania, co może stanowić problem (na przykład dla SMTP RBL)
Antoine Benkemoun

3
Używam HAProxy dla czystych serwerów tcp i działa bardzo dobrze. Ukryte źródło Ip stanowi problem dla całego modułu równoważenia obciążenia.
lg.

2
Uważam, że ukryte źródło IP jest jednym z powodów, dla których moduły równoważące obciążenia nie są często używane w usługach SMTP.
Stefan Lasiewski

3
lvs i ha proxy robią to samo. Wolę LVS, naprawdę szybszy, ponieważ działa na jądrze.
Diego Woitasen

1
@AntoineBenkemoun można użyć trybu przezroczystego HAProxy, aby wyświetlić adres IP klienta.
Thomas Decaux,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.