mannaro
@mannaro
Умею профессионально гуглить

Можно ли в HAProxy натроить балансировку в зависимости от загрузки CPU?

Добрый день, коллеги! Развернули HAProxy и несколько серверов за ним. Все работает как надо, однако, бывают моменты, когда юзеры дергают дорогие операции, которые должны быть обработаны сразу. В таком случае загрузка одного сервера может достигать 100%, в то время, как другие сервера простаивают на 5-10%.
Хотелось бы в момент пиковой загрузки сделать так, чтобы юзеры переехали на другой сервер, пока операция не будет выполнена и загрузка CPU опять не упадет.

Возможно ли это? И как реализовать?
  • Вопрос задан
  • 538 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@viiy
Linux сисадмин \ DevOps
Можно настроить.

Посмотрите решение как балансируется percona xtradb cluster.
А именно:

- xinetd
- скрипт поверх xinetd на определенном порту, который возвращает http статус 200 или другой в зависимости от чего-либо
- http haproxy проверка, которая обращается к xinetd, где работает скрипт, который возвращает код
- haproxy балансировка на основе проверки

О скрипте.
Можете настроить, чтобы он возвращал статус НЕ 200, когда cpuload зашкаливает

Еще более конкретно
https://serverfault.com/questions/466059/haproxy-p...
Ответ написан
@Konkase
Средствами одного лишь Haproxy - нет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы