Я выполнил балансировку нагрузки с помощью apache и mod_proxy. Все работает хорошо, и я могу балансировать нагрузку между двумя серверами. Теперь я хотел бы сделать больше. Сначала я хотел бы выполнить аварийное переключение (если один сервер не работает, все расходы переходят на другой)> Работает ли это только с этим: nofailover = On? Тогда я хотел бы иметь второй балансировщик нагрузки в качестве резервной копии, если первый выйдет из строя. Я ищу в Интернете, но не нашел. Вы знаете, можно ли это сделать? В заключение: можно ли изменить конфигурацию (например, IP-адрес сервера) в балансировщике нагрузки без его перезапуска, потому что он работает?
Спасибо за Ваш ответ
Чтобы установить BalancerMember в качестве горячего резерва, чтобы он получал запросы только в том случае, если другой восходящий поток недоступен, используйте status = + H:
<Proxy balancer://failovercluster>
BalancerMember http://10.1.1.4
BalancerMember http://10.1.1.5 status=+H
</Proxy>
(одно предостережение в том, что в некоторых более старых версиях apache была ошибка, из-за которой + H не работал)
Один из распространенных способов настройки второго балансировщика нагрузки - это просто настроить вторую систему с идентичной конфигурацией и использовать Циклический перебор DNS чтобы позволить пользователям ударить то, что им случится. Конечно, это может вызвать задержки для клиентов, если выйдет из строя один из балансировщиков нагрузки; не очень хорошая вещь.
Другой вариант - использовать VRRPd. Я не буду вдаваться в подробности реализации здесь, но в этом случае ваши два балансировщика нагрузки будут совместно использовать один виртуальный IP-адрес, который переместится на другое устройство, если одно из них станет недоступным.
Используя "перезагрузить" (/etc/init.d/apache2 reload
) выполнит плавный перезапуск службы apache; это позволяет избежать разрыва соединений.