postgresql - 只读 PostgreSQL 数据库的负载平衡和故障转移

标签 postgresql load-balancing

场景

多个应用程序服务器托管用 Java 编写的 Web 服务,在 SpringSource dm 服务器中运行。要实现新要求,他们将需要查询只读 PostgreSQL 数据库。

问题

为了支持冗余,至少要运行两个 PostgreSQL 实例。对 PostgreSQL 的访问必须是负载平衡的,并且如果实例出现故障,则必须自动故障转移到当前正在运行的实例。自动发现新运行的实例是可取的,但不是必需的。

研究

官方已审核PostgreSQL documentation在这个问题上。但是,这侧重于对数据库进行读/写访问的更一般情况。谷歌排名靠前的结果往往会导致旧的新闻组消息或死掉的项目,如 Sequoia 或 DB Balancer,以及一个活跃的项目 PG Pool II

问题

您使用 PG Pool II 的真实体验是什么?还有哪些其他简单可靠的替代方案可用?

最佳答案

PostgreSQL 的 wiki 还列出了 clustering solutions ,以及 Replication, Clustering, and Connection Pooling 上的页面有一个表格显示哪些解决方案适合负载平衡。

我很期待PostgreSQL 9.0的双机热备和流式复制的结合。

关于postgresql - 只读 PostgreSQL 数据库的负载平衡和故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2525682/

相关文章:

sql - PostgreSQL:影响多个表的约束

postgresql - 在 postgres 中合并

postgresql - 如何使用 postgres crate 处理查询返回的可选值?

postgresql - 检测 PostgreSQL 集群的字节顺序

ASP.Net 负载均衡

java - 注册。作业级别的 spring 批处理作业的事务支持

node.js - 如何使用第三方API和多个进程NodeJS处理速率限制

java - 如何在 Spring xml 中向 Camel http-balancer 添加转换?

wcf - 在负载均衡器后面运行 WCF,其中 LB 到 IIS 的连接是 http,客户端到 LB 的连接是 HTTPS

load-balancing - F5 中的最少连接负载均衡方法未将流量分配给所有成员