LVS vs HAProxy, що мені вибрати?


21

Я шукаю рішення для завантаження стратегії балансування та відмови, в основному для великих веб-додатків. У нас є багато сервісів, які потрібно збалансувати, такі як веб, MySQL та багато інших сервісів на основі HTTP або TCP. Але я не впевнений, які їх плюси і мінуси, і які мені слід вибрати.

Відповіді:


24

Найголовніше, що відрізняє два рішення (LVS, HAproxy), це те, що один працює на шарі 4 (LVS), а інший на рівні 7 (HAproxy). Зауважте, що посилання на шари походять із моделі мереж OSI.

Якщо ви це зрозумієте, ви зможете використовувати його в потрібному місці. Наприклад: якщо вам потрібно врівноважити виходячи виключно з кількості з'єднань (скажімо), балансира навантаження шару 4 повинно вистачити; з іншого боку, якщо ви хочете завантажити балансир на основі часу відповіді HTTP, вам знадобиться більш високий рівень LB.

Недоліками використання LB вищого рівня є необхідний ресурс (для тієї ж кількості, скажімо, трафіку). Плюси очевидні - подумайте "перевірка рівня пакетів", "маршрутизація протоколу" тощо - речі набагато складніші, ніж прості "маршрутизації пакетів".

Останнє, що я хочу зробити, це те, що HAproxy є простором користувача (думаю, «набагато простіше налаштувати / налаштувати», але повільніше (продуктивність)), тоді як LVS знаходиться в просторі ядра (подумайте «швидко як пекло», але жорсткий як ядро ). Крім того, не забувайте про те, що "оновлення LVS може означати зміну ядра - ерго, перезавантажити" ...

На закінчення скористайтеся правильним інструментом для правильної роботи.


Мені подобається, як люди все ще використовують верстви OSI, незважаючи на те, що вони ніколи не були реалізовані.
kubanczyk

9

Вам слід використовувати і те, і інше: HAProxy - це чудовий балансир навантаження, а LVS - це рішення для відмови, що дозволяє уникнути єдиної точки відмови.


1
+1, крім HAProxy використовується в основному для використання HTTP, оскільки в іншому випадку приховує вихідний IP-запит, який може бути проблемою (наприклад, для SMTP RBL)
Антуан Бенкемун

3
Я використовую HAProxy для чистих серверів tcp і працює дуже добре. Прихований Ip-джерело є проблемою для всього балансира навантаження.
lg.

2
Я вважаю, що IP прихованого джерела є однією з причин, чому балансири навантаження не часто використовуються для сервісів SMTP.
Стефан Ласєвський

3
lvs та ha proxy роблять те саме. Я віддаю перевагу LVS, дійсно швидше, тому що він працює на ядрі.
Дієго Войтасен

1
@AntoineBenkemoun ви можете використовувати прозорий режим HAProxy для показу IP-адреси клієнта.
Томас Деко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.