【发布时间】:2015-12-29 12:48:46
【问题描述】:
我已经在 4 个节点(虚拟机)之间使用 BDR(双向复制)设置了 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 地址来连接数据库(必须将连接重定向到实际的数据库服务器)。但当时我收到以下错误:
连接到服务器时出错:服务器意外关闭了连接。这可能意味着服务器在处理请求之前或期间异常终止。
请注意,我已尝试使用 2 种方式解决问题。第一次我禁用了所有服务器(HAProxy 和所有 postgres 服务器)上的防火墙,并且我尝试用以下内容替换配置:
listen pgsql_bdr 0.0.0.0:5432
或
listen pgsql_bdr 127.0.0.1:5432
或
listen pgsql_bdr localhost:5432
但在我的情况下一切都不起作用。
请帮我解决问题。在这种情况下我做错了什么?
提前致谢!
【问题讨论】:
标签: load-balancing postgresql-9.3 database-replication haproxy multi-master-replication