Які відмінності між HAProxy та Ngnix у режимі зворотного проксі?


Відповіді:


5

Оновлення 2019 року:

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

Обидва:

  • Підтримка HTTPS
  • Підтримка веб-сокетів
  • Стабільні, зрілі та дуже ефективні продукти
  • Може працювати з 10-кратними з'єднаннями з мінімальною настройкою або без неї

HAProxy:

  • Збалансування навантаження TCP, TCP-SSL, HTTP та HTTPS
  • Більша гнучкість у перевірках стану здоров’я та аварійних умовах
  • Основне кешування (v1.8 - 2017)
  • Настроюваний формат журналу для імпортування журналів доступу до kibana / splunk / greloglog
  • Детальна сторінка стану, щоб побачити активні запити та стан серверів
  • Експортні показники для інтеграції з моніторинговими рішеннями (графіт / прометеус / datadog)
  • Більш високопродуктивні. Краще вказано, щоб обробляти з'єднання 100k або 40 GbE-інтерфейсів.

Nginx:

  • Збалансування навантаження HTTP та HTTPS (TCP - UDP у платній версії)
  • Більш гнучкість кешування
  • Настроюваний формат журналу для імпортування журналів доступу до kibana / splunk / greloglog
  • Немає сторінки статусу (лише платне видання)
  • Немає показників для експорту (лише платне видання)
  • Може обслуговувати локальні файли
  • Може обслуговувати програми FastCGI (не CGI)

HAProxy - це безкоштовне програмне забезпечення, повністю відкрите джерело. Вони заробляють гроші, продаючи апаратний прилад із попередньо встановленим HAProxy.

Nginx є відкритим ядром, і багато функцій доступні лише у платній версії. Зокрема, йому не вистачає сторінки стану та моніторингу показників, що є великим НІ НЕ для роботи балансира навантаження.


42

HAProxy насправді просто балансир навантаження / зворотний проксі. Nginx - це веб-сервер, який також може функціонувати як зворотний проксі.

Ось деякі відмінності:

HAProxy:

  • Чи TCP, а також HTTP-проксі (SSL додано від 1,5-dev12)
  • Більше варіантів обмеження ставок
  • Автор відповідає на питання про помилку сервера ;-)

Nginx :

  • Підтримує SSL безпосередньо
  • Також є сервером кешування

Для переповнення стека ми в основному використовуємо HAProxy з nginx для розвантаження SSL, тому HAProxy - моя рекомендація.


11

Я використовую nginx для інтерфейсу HAProxy, але тільки для припинення SSL.

HAProxy - набагато більш налаштований та керований балансир навантаження (на мій досвід).

Я також включаю Varnish для статичного кешування об'єктів. (як специфічний сервер HAProxy)

Дивіться це питання про помилку сервера для отримання додаткової інформації. Замовлення nginx / лаку / haproxy


3
Найновіша (вересень 2012 року) нестабільна збірка HAProxy тепер підтримує SSL. (потенційно усуваю мою потребу запустити nginx)
Joel K

5

Якщо це потрібно лише для збалансування навантаження, краще проксі. Але поєднання як nginix, так і HA proxy може бути кориснішим, оскільки nginix швидкий у наданні статичного контенту, він обслуговуватиме всі запити статичних даних, а потім надсилатиме весь запит до проксі HA, який служить балансиром завантаження та надсилає запит на веб-сервер для обслуговування запит, балансуючи навантаження.

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