В настоящее время я использую HAProxy в качестве балансировщика нагрузки для двух веб-серверов и управляю им через страницу статистики. Последние несколько раз я выполнял развертывания (переводя один сервер в режим обслуживания, обновляя его, возвращая его в состояние ГОТОВ, затем выполняя другой), я замечал, что статус постоянно меняется при каждом обновлении страницы. Например:
node0
моей службы на MAINT
- строка становится коричневой, отображается как выключенная. node0
теперь отображается зеленым вверх node0
теперь отображается как неработающий для обслуживания. node0
, вернитесь на страницу статистики. node0
теперь отображается как работающее. node0
на MAINT
, отображается как выключенное. node0
на READY
. В строке отображается node0
как работающий. node1
на MAINT
. MAINT
. node0
на ГОТОВ
. Страница статистики обновляется и показывает оба узла как ГОТОВ
. ... и т.д ...
Это явно плохо для моих пользователей и моего кровяного давления, так как я не чувствую, что могу доверять HAProxy чтобы точно и достоверно сообщить о состоянии моего приложения. Мои вопросы:
haproxy
предназначен только для управления самой службой HAProxy. Я использую HAProxy 1.5.18
Это кажется, что у Вас есть несколько PIDs выполнения HAProxy. Проверьте, что PID, о котором сообщают на странице статистики между обновлениями, остается последовательным.
Кроме того, можно взаимодействовать с HAProxy через CLI с помощью socat. См. документация здесь для получения информации о том, как сделать так.