Назад | Перейти на главную страницу

Проверка работоспособности HAProxy

У меня есть три небольших вопроса, относящихся к той же теме:

  1. Есть ли способ балансировки нагрузки с HAProxy на основе текущая нагрузка различных серверов (т. е. маршрутизация запроса на наименее загруженный сервер).
  2. Если нет, то почему это поведение не встроено в HAProxy? Есть ли крупный влияние на производительность этого? Я скорее воображаю, чем например, вместо того, чтобы искать наименьшее количество связей (leastconn алгоритм), что я буду искать наименьшую нагрузку.
  3. Если это не повлияет на производительность, правильно ли я предполагаю, что можно встроить эту функциональность в собственный дистрибутив HAProxy, не влияя на производительность?

Единственный способ сделать это с помощью haproxy - создать сценарий, который проверяет работоспособность haproxy. В сценарии вы проверяете среднюю нагрузку, и, если это допустимая нагрузка ... возвращает код ответа 200. Если он слишком высокий, возвращайте ошибку 404 или 500. Ваша проверка haproxy будет выглядеть примерно так

option httpchk HEAD /health_check.php HTTP/1.0

если haproxy видит какой-либо ответ 2xx / 3xx, он будет действителен ... все остальное будет отключать этот узел до тех пор, пока нагрузка на узел не упадет, а скрипты health_check.php вернут 200