Я пытаюсь найти способ динамического управления конфигурацией балансировщика нагрузки.
Я хочу добавлять и удалять «служебные узлы» в зависимости от общей загрузки системы.
Мои исследования показали "Таласса" https://github.com/PearsonEducation/thalassa/blob/master/README.md который использует Node.JS + Seaport для управления клиентами, а затем обновляет конфигурацию HA-Proxy
Тем не менее я не уверен, достаточно ли стабильна Thalassa для использования в производственных системах. Существуют ли пригодные для использования альтернативы, предлагающие те же функции?
Если вы авторизуете свой сокет статистики, вы можете отправлять ему команды.
отключить сервер <backend> / <server>
Отметьте сервер ВНИЗ для обслуживания. В этом режиме на сервере больше не будут выполняться проверки, пока он не выйдет из режима обслуживания. Если сервер отслеживается другими серверами, во время обслуживания эти серверы будут отключены.
На странице статистики сервер DOWN для обслуживания будет отображаться со статусом MAINT, а его серверы отслеживания - со статусом MAINT (via).
И бэкэнд, и сервер могут быть указаны либо по их имени, либо по их числовому идентификатору с префиксом «#».
Эта команда ограничена и может быть запущена только на сокетах, настроенных для уровня «admin».
Вы можете использовать это для эффективного добавления и удаления серверов из активной службы.
За исключением этого, вы можете использовать option httpchk
и блокировать запросы проверки на стороне сервера приложений, когда сервер должен покинуть группу балансировки или присоединиться к ней. Конечно, это требует некоторых средств для централизованного управления.