2016-07-08 2 views
1

Я пытаюсь понять преимущества и недостатки проверок работоспособности haproxy, происходящих на другом порту от обычного трафика.Порт проверки работоспособности Haproxy

Если сервер перегружен, если проверки работоспособности на другом порту могут указывать на сервер, даже если он перегружен. Я думаю, что это хорошо, потому что отказ от серверов в оффлайне может сделать проблему перегрузки хуже, но хочу подтвердить, что это имеет смысл. Кажется, я не могу найти хорошие документы о компромиссах, и мне было интересно, есть ли у кого-то хороший анализ компромиссов.

ответ

1

Ключевое слово port часто используется с address, чтобы отправлять медицинские проверки в другом месте, кроме непосредственно в службу, которую вы проверяете. Одним из примеров может быть включение option httpchk для мониторинга службы, отличной от HTTP. То, что вы тогда делаете, - это HTTP-совместимая служба, которая при запросе может выполнять сложные проверки работоспособности в отношении службы, которую вы на самом деле проверяете.

Вышеупомянутое часто делается с agent-check сегодня, но некоторые люди предпочитают использовать HTTP-интерфейс.

Это также не имеет никакого отношения к нагрузке на сервер, единственная идея - отправить проверки работоспособности на какую-либо другую службу, а не на тот, который непосредственно контролируется, который более способен тестировать фактическое обслуживание (возможно, используя более сложный логика) и возвращение результата. В качестве примера можно было бы использовать бэкэнд MySQL, который вместо проверки только для проверки подлинности на option mysql-check мог быть протестирован с помощью PHP-скрипта, который, например, проверяет, работает ли резервное копирование, и если он возвращает ошибку HTTP HTTP 5xx. Конфигурация может быть примерно такой:

backend mysql 
    mode tcp 
    option httpchk GET /mysql-status.php 
    server mysqlserver 10.0.0.1:3306 check port 80 
Смежные вопросы