【发布时间】:2011-06-14 10:10:05
【问题描述】:
我们的一个 Java 项目需要一个高度可靠的冗余数据存储系统,如果其中一个数据库引擎发生故障,应用程序仍然可以读取和写入数据到其他存储。在故障节点恢复后,新数据会自动同步回来。
我们考虑了一个混合环境,比如一个 PostgreSQL 数据库作为主节点,另一个服务器上的另一个 PostgreSQL 数据库作为辅助节点,例如。靠近服务器应用程序的 HSQL 文件数据库作为第三个节点。
我们喜欢在这个系统的顶部使用一个 JPA 层(可能是 Hibernate)。由于持久性,我想到了一个隐藏所有复制细节的透明 JDBC 驱动程序。到目前为止,我已经在网上找到了这些项目:
- HA-JDBC(自 2009-06-22 以来没有更新)
- C-JDBC(现在是Tungsten Replicator)
这些解决方案都没有前景。 HA-JDBC 已经过时了,似乎 Tungsten 主要用于 MySQL。我什至还没有找到将这些与 JPA 一起使用的示例。
我们还有其他解决方案吗?也许我们应该以不同的方式解决这个问题?
【问题讨论】:
标签: java persistence replication