HAProxy - Настройка с предпочтительным сервером
Я использую HAProxy для балансировки нагрузки моего приложения на RHEL7. У меня есть два сервера server1 и server2, из которых я хочу server1 в качестве предпочтительного сервера. Мое требование: server1 должен обслуживать все запросы по умолчанию; если сервер1 не работает, сервер2 должен быть активным; когда server1 включен, server1 должен стать активным и должен обрабатывать запросы. Следующее - мой фронтенд / бэкэнд в haproxy.conf:
frontend frontend_2143
bind *:2143
default_backend backend_2143
backend backend_2143
balance roundrobin
mode tcp
server server1 192.160.0.3:2143 check weight 255
server server2 192.160.0.4:2143 check
В этой конфигурации я получаю все свои запросы на сервере server1 в начале и на server2 после того, как server1 не работает, но когда server1 включен, запросы все еще принимаются на server2.
Кто-нибудь может здесь помочь?
2 ответа
Попробуйте использовать директиву "backup" в вашей конфигурации. Подробное описание смотрите здесь: http://blog.haproxy.com/2013/12/23/failover-and-worst-case-management-with-haproxy/
И, возможно, вы должны проверить это тоже: https://cbonte.github.io/haproxy-dconv/configuration-1.5.html
Параметр "weight" используется для настройки веса сервера относительно других серверов. Чем выше вес, тем выше нагрузка. Попробуйте убрать вес с внутренних серверов.