Преимущества использования Nginx или HA Proxy в качестве балансировщика нагрузки

9

В нашей среде мы используем Nginx и HA Proxy в разных кластерах. Есть ли преимущества использования одного над другим?

Или как лучше распределить нагрузку на базовый кластер серверов LAMP?

Джейсон
источник

Ответы:

8

(Я не собираюсь говорить о «лучшем способе балансировки нагрузки», поскольку это, очевидно, зависит от конкретной ситуации.)

И HAProxy, и nginx - отличный выбор для балансировщиков нагрузки HTTP с открытым исходным кодом в Unix. На очень высоком уровне, плюсы и минусы, которые приходят в голову, являются ИМХО:

Nginx:

  • Может делать разгрузку SSL (часто важная персона).
  • Имеет богатый набор модулей обработки контента: перезапись заголовка, сжатие контента и т. Д.
  • Иногда может быть «единственным HTTPd, который вам нужен», что упрощает администрирование, если вам не нужны другие HTTPd.
  • Более расширяемый с плагинами, FX для маршрутизации трафика.

HAProxy:

  • Может обеспечить более высокую производительность на одном сервере, чем nginx (особенно при работе в режиме TCP, 10 Гбит / с ).
  • ИМХО проще запустить и запустить для простых простых настроек балансировки нагрузки HTTP.
  • Изменения немного меньше, особенно в более старых стабильных ветвях, которые часто проходят некоторое время без обновления безопасности и стабильности.

Но, как сказано, оба являются отличным выбором. Выберите тот, который вам удобнее всего.

Джеспер М
источник
1
Сжатие является большим плюсом для nginx, поэтому я в итоге пошел: haproxy + nginx, чтобы иметь простое переключение при сбое (haproxy) и сжатие gzip (nginx).
Алексис Ле-Квок
2

Это действительно зависит от того, что вы хотите сделать.

Nginx может распределять нагрузку между кластерами, а также направлять определенные домены в разные кластеры. Наша производительность nginx была удовлетворительной. Это больше похоже на загрузочный маршрутизатор.

Для haproxy я знаю, что он постоянно запрашивает состояние сервера и будет проверять сервер, прежде чем направлять трафик на него. Он также имеет интерфейс, где вы можете просматривать статистику. nginx Я не думаю, что делает это на любой счет.

Дэниел Бейкер
источник
1

Мы используем nginx в качестве веб-сервера и очень довольны им. Я никогда не вернусь к Apache. Недостатком является то, что если вы намереваетесь запустить PHP; для работы в fastCGI требуется некоторая хакерская работа.

Не забудьте поставить Varnish на место для кэширования! Этот простой шаг решает множество проблем, связанных с сайтами Slashdotted / Fireballed!

gWaldo
источник
0

Я не эксперт в этом вопросе, но насколько я знаю, HAProxy имеет лучшую производительность и более настраиваемый способ балансировки нагрузки.

Теперь я могу добавить вам список сравнений и тестов, но вместо этого я просто свяжу результаты Google: https://encrypted.google.com/search?q=nginx+vs+haproxy

Нет в наличии
источник