Простая балансировка нагрузки

У меня есть простой интерфейс, который принимает все входящие запросы и обслуживает в основном статический контент, написанный на PHP. Я пересылаю квалифицированные запросы из PHP на сервер, используя curl и снова отправляя ответы пользователю.

У меня есть два (число может увеличиться с течением времени) похожих бэк-эндов, выполняющих тяжелую работу Я хочу добавить балансировку нагрузки (случайный выбор) и проверки работоспособности.

Все эти программные балансировщики нагрузки кажутся очень сложными и сложными в настройке. Есть ли простое решение?

Я думал о реализации этого сам. Должно быть прямым, но, вероятно, не совсем боевым доказательством.

2

Решение

Вам, наверное, стоит попробовать NGINX — HTTP и обратный прокси-сервер. Должно быть легко установить и настроить.

4

Другие решения

Простого фронтального облачного балансировщика нагрузки должно быть достаточно.

Включите следующие модули Apache:

a2enmod proxy proxy_http proxy_balancer

Затем откройте /etc/apache2/conf.d/proxy-balancerconfigure и настройте modproxybalancer, добавив следующие строки:

BalancerMember http://10.0.0.1
BalancerMember http://10.0.0.4

ProxyPass / balancer://mycluster

Наконец, настройте свой прокси, чтобы разрешить доступ со всех хостов.
Открыть свой /etc/apache2/mods-enabled/proxy.conf и заменить следующее:

Deny from all

к

Allow from all

Перезапустите apache, используя `/etc/init.d/apache2 restart«

Надеюсь, это поможет вам.

Источник :
Как настроить интерфейсный облачный балансировщик нагрузки в apache

РЕДАКТИРОВАТЬ

Для простой проверки работоспособности добавьте это в конце каждого члена:

BalancerMember http://10.0.0.4 connectiontimeout=10 retry=600

EDIT2

Для расширенной проверки здоровья см. apache mod_proxy_hcheck (доступно только для Apache 2.5, но не в официальном репозитории)

1

nginx довольно легко настроить для балансировки нагрузки:

http://nginx.org/en/docs/http/load_balancing.html

-1
По вопросам рекламы [email protected]