HAProxy против Nginx

Я смотрел на использование HAProxy и Nginx для балансировки нагрузки, и у меня были некоторые вопросы:

  • Должен ли я использовать JUST HAProxy над Nginx для прокси-сервера?
  • Есть ли какая-нибудь причина для установки HAProxy и Nginx на один и тот же прокси-сервер?

Спасибо

Ответы

Ответ 1

haproxy - это "балансировщик нагрузки", который он не знает, чтобы обслуживать файлы или динамический контент. nginx - это веб-сервер, способный много интересного. если вам нужно только загрузить баланс + HA на какой-то третий веб-сервер, то достаточно haproxy. если вам нужно реализовать некоторый статический контент или какую-либо логику в маршрутизации запросов до их завершения на третьем сервере, вам может понадобиться nginx.

Причина, по которой вы можете видеть, что haproxy + nginx на том же хосте - это то, что он позволяет сбрасывать отдельные экземпляры nginx, в то время как haproxy продолжает обслуживать запросы от других хостов. Представьте, что у вас есть RR DNS, используя записи A:

myapp.com IN A 1.1.1.1
myapp.com IN A 1.1.1.2

где 1.1.1.1 и 1.1.1.2 являются двумя хостами с haproxy + nginx, настроенными для балансировки между ними. Теперь по какой-то причине ваш 1.1.1.1 nginx идет вниз. Браузеры, которые приходят к 1.1.1.1, все еще обслуживаются haproxy на нем, который, в свою очередь, получает данные от 1.1.1.2 nginx.

надеюсь, что это поможет

Ответ 2

NGINX рядом с HAProxy выглядит как 2CV рядом с Tesla...

Преимущества HAProxy:

  • Предоставляет полный список из 61 различных метрик. См. Раздел 9 для полного списка доступной статистики

  • Страница статуса гораздо более детальная и удобная по сравнению с Nginxs

  • Легко интегрируется со сторонними сервисами мониторинга (например, Datadog)
  • IPV6, ПРОКСИ ПРОТОКОЛ, ПРОЗРАЧНЫЙ ПРОКСИ, SSL & SNI, HTTP2, API, LUA Scripting, брокер RDP-соединений, Stick-таблицы, репликация сеансов с несколькими узлами, защита DDOS и DOS...

Недостатки HAProxy:

  • Не предоставляет другие функции, которые предлагает Nginx, такие как возможности веб-сервера

Преимущества Nginx:

  • Поскольку Nginx способен делать гораздо больше, чем балансировка нагрузки, это гораздо более универсальное решение.
  • Полезно, если вам требуется балансировщик нагрузки, а также веб-сервер с расширенными возможностями кэширования и многое другое.
  • Существует разработанный сообществом модуль для сбора большей статистики, чем предлагается по умолчанию.

Недостатки Nginx:

  • Предоставляет только 7 показателей статистики, которые представляют все сайты на сервере. Индивидуальные показатели для каждого сайта отсутствуют
  • Страница статуса не является удобной для пользователя и не предоставляет много деталей
  • Очень ограниченные возможности интеграции стороннего мониторинга