Какой балансировщик нагрузки поддерживает конфигурацию Master/Slave?

Я ищу балансировщик нагрузки для своего веб-приложения, который будет поддерживать конфигурацию master-slave или поддержку алгоритма.

На данный момент я использую прокси-сервер apache, но с циклическим методом LB.

Я не уверен, есть ли у балансировщика нагрузки apache поддержка master-slave или какой-либо модуль?

Вот что я хочу точно: перенаправить все запросы на один внутренний сервер, и как только главный сервер выйдет из строя, подчиненный или другой сервер будет действовать как горячая заглушка.

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


person Sohan    schedule 09.07.2015    source источник
comment
Что вы подразумеваете под хозяином/рабом? Перенаправлять все запросы на один бэкэнд, а при сбое перенаправлять все подчиненному? Или некоторые URL-адреса к одному и некоторые к другому?   -  person Marki555    schedule 09.07.2015
comment
Отредактировал мой вопрос с некоторыми подробностями   -  person Sohan    schedule 09.07.2015


Ответы (1)


Вы можете использовать nginx с его модулем Upstream.

Пример конфигурации:

upstream myBackend {
    server main.example.com:8080;
    server back.example.com:8080 backup;
}

server {
    location / {
        proxy_pass http://myBackend;
    }
}

Пока первый сервер (main.example.com) работает, nginx будет его использовать. Когда он выйдет из строя, он будет использовать второй сервер. Вы можете прочитать на связанной странице руководства различные другие параметры настройки (например, когда помечать сервер как неисправный). Nginx поддерживает HTTPS как для входящих соединений, так и для соединений с прокси-сервером.

EDIT: для Apache это возможно в версии 2.4 с использованием Proxy Balancer. Я не тестировал эту конфигурацию. Дополнительные сведения см. в руководстве по ProxyPass.

ProxyPass "/" "balancer://hotcluster/"
<Proxy "balancer://hotcluster">
    BalancerMember "http://1.2.3.4:8000"
    # The server below is on hot standby
    BalancerMember "http://1.2.3.6:8000" status=+H
</Proxy>
person Marki555    schedule 09.07.2015
comment
Значит, балансировщик нагрузки apache не поддерживает такую ​​конфигурацию? Также nginx поддерживает HTTPS? - person Sohan; 09.07.2015
comment
Это должно быть возможно и в apache (я обновил ответ) - person Marki555; 09.07.2015
comment
Я хочу спросить, будет ли apache поддерживать конфигурацию с несколькими подчиненными серверами? - person Sohan; 14.07.2015
comment
Вы имеете в виду несколько горячих резервов? Я думаю да, я не нашел ничего в руководстве, почему это не должно работать. - person Marki555; 14.07.2015
comment
Хорошо... позвольте мне попробовать это тоже - person Sohan; 14.07.2015