Balanceamento de carga usando o HAProxy para Postgresql 9.4
Fiz uma configuração de replicação multimestre do PostgreSQL usando BDR (Replicação Bidirecional) entre 4 nós (máquinas virtuais).
Agora eu quero colocar um balanceador de carga para alta disponibilidade. Para isso, instalei e configurei o "HAProxy" em uma máquina virtual diferente, que está ouvindo 5432 / tcp para se conectar. A configuração haproxy é a seguinte:
listen pgsql_bdr *:5432
mode tcp
option httpchk
balance roundrobin
server master 192.168.123.1:5432 check backup
server slave1 192.168.123.2:5432 check
server slave2 192.168.123.3:5432 check
server slave3 192.168.123.4:5432 check
O endereço IP do servidor HAProxy é 192.168.123.5
Usei o endereço IP do servidor HAproxy no meu aplicativo para conectar-me ao banco de dados (que deve redirecionar a conexão aos servidores de banco de dados reais). Mas nesse momento estou recebendo o seguinte erro:
Erro ao conectar-se ao servidor: o servidor fechou a conexão inesperadamente. Isso provavelmente significa que o servidor foi finalizado de forma anormal antes ou durante o processamento da solicitação.
E note que eu tentei resolver o problema usando 2 maneiras. 1º Desabilitei o firewall em todos os servidores (HAProxy e todos os servidores postgres) e também tento substituir a configuração pelo seguinte:
listen pgsql_bdr 0.0.0.0:5432
ou
listen pgsql_bdr 127.0.0.1:5432
ou
listen pgsql_bdr localhost:5432
Mas nem tudo estava funcionando no meu caso.
Por favor me ajude a resolver o problema. o que estou fazendo de errado nesse cenário?
Desde já, obrigado!