В нашей среде мы используем Nginx и HA Proxy на разных кластерах. Есть ли преимущества в использовании одного перед другим?
Или как лучше всего сбалансировать нагрузку на базовом кластере серверов LAMP?
(Я не буду вдаваться в «лучший способ балансировки нагрузки», поскольку это явно зависит от ситуации.)
И HAProxy, и nginx - отличный выбор для балансировщиков нагрузки HTTP с открытым исходным кодом в Unix. На очень высоком уровне, ИМХО, в первую очередь приходят плюсы и минусы:
nginx:
HAProxy:
Но, как уже было сказано, оба варианта - отличный выбор. Выберите тот, который вам больше всего подходит.
Это действительно зависит от того, чем вы хотите заниматься.
Nginx может разделять нагрузку между кластерами, а также направлять определенные домены в разные кластеры. Наша производительность nginx удовлетворительна. Это больше похоже на загрузочный роутер.
Я знаю, что для haproxy он постоянно запрашивает статус сервера и будет проверять сервер, прежде чем направлять на него трафик. У него также есть интерфейс, в котором вы можете просматривать статистику. nginx Я не думаю, что это так в любом случае.
Мы используем nginx в качестве веб-сервера и очень им довольны. Я никогда не вернусь к Apache. Обратной стороной является намерение запустить PHP; это требует некоторой хитрости, чтобы заставить его работать под fastCGI.
Не забудьте поставить Varnish для кеширования! Этот простой шаг решает множество проблем, связанных с использованием Slashdotted / Fireballed сайтов!
Я не эксперт в этом, но насколько я знаю, HAProxy имеет лучшую производительность и более настраиваемый способ балансировки нагрузки.
Теперь я могу бросить вам список сравнений и тестов, но вместо этого я просто свяжу результаты Google https://encrypted.google.com/search?q=nginx+vs+haproxy