场景
多个应用程序服务器托管用 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/