-1

目前,我正在使用 pgbouncer 在 postgresql 集群中进行连接池。我只是想确定一下,是否可以使用 pgbouncer 在 postgresql 集群中的节点之间进行负载均衡请求。

4

2 回答 2

1

来自PgBouncer 常见问题解答

如何在多台服务器之间对查询进行负载平衡?

PgBouncer 没有内部多主机配置。可以通过一些外部工具:

  1. DNS 循环。在一个 DNS 名称后面使用多个 IP。每次启动新连接时,PgBouncer 都不会查找 DNS。相反,它会缓存所有 IP 并在内部进行循环。注意:如果一个名字后面有8个以上的IP,则DNS后端必须支持EDNS0协议。有关详细信息,请参阅自述文件。

  2. 使用 TCP 连接负载平衡器。LVS 或 HAProxy 似乎都是不错的选择。在 PgBouncer 方面,使 server_lifetime 更小并打开 server_round_robin 可能是个好主意 - 默认情况下,LIFO 算法会重用空闲连接,这在需要负载平衡时可能效果不佳

于 2017-09-13T06:05:19.127 回答
0

现在有pgbouncer-rr-patch(AWS 的 pgbouncer fork)可以进行负载平衡:

路由:智能地从一个客户端连接向不同的数据库服务器发送查询;使用它在多个服务器/集群之间进行分区或负载平衡。

于 2021-02-09T03:01:09.740 回答