Как заставить HAproxy вернуть IP-адрес следующего сервера базы данных?

Как заставить HAproxy вернуть IP-адрес следующего сервера базы данных?

Я хотел бы использовать HAproxy для проверки того, находятся ли мои серверы БД в сети, без фактической маршрутизации запросов через блок HAproxy. Есть ли способ подключиться к HAproxy и заставить его вернуть IP-адрес хоста БД?

например: с веб-сервера № 1 я подключаюсь к HAproxy на порту 3306. HAproxy слушает на порту 3306 и выводит эхо на хост БД № 1 из списка хостов БД (циклический перебор). Затем с веб-сервера № 1 я подключаюсь напрямую к хосту БД № 1.

решение1

Не с vanilla haproxy, но у меня была та же проблема, и я пропатчил haproxy, чтобы добавить именно эту функциональность. Возможно, в какой-то момент она будет включена в сам haproxy (автор был к этому положительно настроен, но запросил некоторые изменения, которые я пока не сделал).

Если вам интересно, я поделюсь этим патчем. Но, пожалуйста, спросите себя, действительно ли он вам нужен. Почему "нормальная" балансировка нагрузки не достаточно хороша, может быть, с прямым возвратом сервера, чтобы обратный трафик обходил балансировщик нагрузки. Запуск стабильного, поддерживаемого продукта может быть более желательным, чем наличиеточныйфункционал, который вам нужен (насколько мне известно, его нет ни в одном балансировщике нагрузки с открытым исходным кодом, и даже в тех, которые я рассматривал с закрытым исходным кодом).

Связанный контент