Como fazer com que o HAproxy retorne o endereço IP do próximo servidor de banco de dados?

Como fazer com que o HAproxy retorne o endereço IP do próximo servidor de banco de dados?

Gostaria de usar o HAproxy para verificar se meus servidores de banco de dados estão online, sem realmente encaminhar as solicitações por meio da caixa HAproxy. Existe alguma maneira de me conectar ao HAproxy e fazer com que ele retorne um endereço IP do host do banco de dados?

por exemplo: do servidor web nº 1 eu me conecto ao HAproxy na porta 3306. O HAproxy escuta em 3306 e ecoa o DB Host nº 1 de uma lista de hosts db (round robin). Então, do servidor web nº 1, eu me conecto diretamente ao host do banco de dados nº 1.

Responder1

Não com o vanilla haproxy, mas tive o mesmo problema e corrigi o haproxy para adicionar exatamente essa funcionalidade. Ele pode ser incluído no próprio haproxy em algum momento (o autor foi positivo sobre isso, mas solicitou algumas alterações que ainda não consegui fazer).

Se você estiver interessado, compartilharei este patch. Mas pergunte a si mesmo se você realmente precisa disso. Por que o balanceamento de carga "normal" não é bom o suficiente, talvez com retorno direto do servidor para fazer o tráfego de retorno ignorar o balanceador de carga. Operar um produto estável e com suporte pode ser mais desejável do que ter oexatofuncionalidade que você deseja (que afaik não existe em nenhum balanceador de carga de código aberto, e nem mesmo nos de código fechado que observei).

informação relacionada