这个问题假设使用PostgreSQL 9.1。
假设我有两个PostgreSQL数据库集群。每个集群包含三个PostgreSQL服务器。主服务器、通过同步复制同步的从服务器和备用同步复制服务器。一个集群设在伦敦,另一个托管在东京。
我有一个网络应用程序,引导用户到离他们最近的服务器。所以我有两个web应用程序的实例在运行。每个直接连接到一个PostgreSQL集群。使两个PostgreSQL集群保持同步的最佳方法是什么?我知道我可以在伦敦和东京的两个主服务器之间进行同步复制,但这会在任何写查询之上增加很长的时间,因为PostgreSQL服务器将不得不等待来自远程系统的响应,这可能会(最多)给整个操作增加200 on的延迟。
有人对解决这个问题有什么建议吗?
谢谢您的帮助:)。
编辑:如果答案考虑到我可能想要将系统扩展到包含第三个或第四个PostgreSQL集群的事实,那就太好了。我对处理这么多不同集群之间同步的最佳方法感到迷茫。
发布于 2012-06-24 15:11:35
目前,PostgreSQL核心中没有任何东西可以帮助实现这一点,但正在进行中的工作是做您想做的事情,这很可能会使其成为版本9.3,该版本很可能将在2013年夏天发布。如果你等不及了,就会有第三方提供的若干解决方案。根据您的描述,布卡多听起来可能是最合适的。
一个新的选项是Postgres-XC,它最近推出了生产版1.0。这是一项令人兴奋的技术,但如果您有一个稳定的生产环境,您可能需要暂时关注它;它目前非常“尖端”,而且他们还没有弄清楚如何将普通PostgreSQL的所有特性融入到该环境中。
https://dba.stackexchange.com/questions/19790
复制相似问题