【发布时间】:2014-04-13 15:42:52
【问题描述】:
我从未使用过 JPA,但我想知道是否可以将其配置为连接到大约 200 台不同的服务器,但将完全相同的数据输入到每台服务器上的数据库中,所有服务器都具有相同的结构。
【问题讨论】:
-
您是指在 199 台服务器或 200 个不同数据库中复制的单个数据库?
-
您不是在寻找类似主/从复制设置的东西吗?我宁愿把问题留给 DB 软件而不是 JPA。一些上下文不会受到伤害。
-
想象一下 200 个不同位置的 200 个文件服务器。是的,它是在所有位置复制的单个数据库。当我想插入数据时,我想将它插入到所有 200 个不同的位置。我对想法持开放态度。现在我使用基本的 JDBC 并遍历服务器地址。服务器正在运行 MSSQL 服务器。
-
我担心所有服务器的手动循环迟早会导致您严重头痛(与这些服务器的一致状态有关)。当服务器无法访问时会发生什么,您是否能够稍后执行它错过的所有语句?有 MSSQL 的复制解决方案,看看这些。
-
@Ruinous 你所描述的对我来说很奇怪。为什么不在数据库级别管理复制并将该问题排除在应用程序范围之外?今天所有主要的 RDBMS 在设计时都考虑到了某种形式的水平扩展。至少这样你的应用程序(JPA/JDBC)就完全从你的数据库架构中抽象出来了,你不必实现地狱循环来确保一致性。真正的 ACIDicity 很难确保在 rdbms 级别。任何实施内部绕过策略的尝试都是非常艰难的过程,也是一场测试的噩梦。