我已经使用BDR技术在4个节点(虚拟机)上进行了PostgreSQL的多主复制设置。
现在我想为高可用性添加负载均衡器。为此,我在另一台虚拟机上安装并配置了“HAProxy”,它监听5432/tcp以进行连接。 haproxy的配置如下:
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
HAProxy服务器的IP地址是192.168.123.5。
我在我的应用程序中使用了HAproxy服务器的IP地址来连接数据库(必须将连接重定向到实际的数据库服务器)。但是此时我遇到了以下错误:
连接服务器时出错:服务器意外关闭了连接。这可能意味着在处理请求之前或期间服务器异常终止。
请注意,我尝试通过两种方式解决问题。第一,我在所有服务器上禁用了防火墙(HAProxy和所有postgres服务器),并尝试以以下配置替换:
listen pgsql_bdr 0.0.0.0:5432
或者
listen pgsql_bdr 127.0.0.1:5432
或者
listen pgsql_bdr localhost:5432
但在我的情况下,一切都不起作用。
请帮我解决问题。我在这种情况下做错了什么?
提前致谢!