java - Postgresql 9.3 上的双向复制

标签 java postgresql database-replication high-availability bucardo

我在生产服务器上使用 Postgres 9.3。我想使用主-主配置实现 Postgres DB 的高可用性,其中每个主服务器都将在双向复制的主动-主动模式下运行。

我有 2 个 Java Spring REST Web 服务指向 2 个独立的数据库引擎,每个引擎都有自己的存储空间。两个 Web 服务都指向自己的数据库以及 HA 配置中的另一个。

现在,如果任何一个数据库发生故障,我希望 Activity 的数据库服务器继续工作,当发生故障的数据库服务器恢复时,数据应该同步回恢复的数据库。

我尝试使用 Bucardo 5.3.1 进行双向复制,但恢复的数据库没有使用新数据进行更新,需要再次启动 Bucardo 同步。 (参见错误:https://github.com/bucardo/bucardo/issues/88)

有什么方法可以使用其他双向复制工具实现这一点?

或者有没有其他方法可以让 2 个 Postgres 引擎指向一个以双活配置运行的共享存储?

最佳答案

2nd Quadrant 发布了 Postgres BDR,它是 PostgreSQL 的补丁版本,可以使用逻辑 WAL 解码进行多主复制。您将在此处找到更多信息:https://www.2ndquadrant.com/fr/resources/bdr/

关于java - Postgresql 9.3 上的双向复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44645156/

相关文章:

java - 尝试从 Spring 获取图像

Java/PostgreSQL - 性能数据优化

mysql - 如何使用mysql在单个数据库中复制十个数据库表

当类没有数据差异时,Java 实现完全从父类(super class)复制

队列数据结构的Java数组表示

java - 检查一个数组列表中的值是否存在于另一个数组列表中

sql - Postgres - 'time without time zone' 范围和排除约束

sql - 在单个查询中插入 2 个表 postgresql

c# - 对复制下数据库模式的持续开发的建议

php - mysqlnd_ms 替代 php7