是否有任何框架可以将一个对等体上生成的数据与不可靠网络中的所有其他对等体同步?

Jus*_*ler 10 c++ java replication networking

我们正在开发一个具有以下要求的系统.

  • 有N个系统各自生成对自己唯一的数据
  • 每个系统都需要来自其他每个系统的数据来执行其最终目标
  • 这些系统在不可靠的网络上相互通信.
  • 预计一些系统将在较长时间内完全不可用(但是他们可能会与一些与网络其他部分联系的同行联系)

换句话说,每个系统都需要将其数据复制到N个对等系统.理想情况下,这将以智能方式完成.

我考虑过调查数据库同步框架,但我担心这个问题太过分了.我认为没有任何行冲突的可能性,因为每个系统的数据完全独立于其他系统.

问题是,你知道任何可以帮助解决这个问题的框架吗?或者可能是一种表达这个问题的方法,可以帮助我找到解决方案的路径.

最后,理想情况下,此框架将使用C++(可能还有Java).

小智 2

SymmetricDS.org

您正在寻找的解决方案听起来很像开源软件 SymmetricDS。

“SymmetricDS 是一款异步数据复制软件包,支持多个订阅者和双向同步。它使用 Web 和数据库技术在关系数据库之间复制表,如果需要,可以近乎实时地复制。该软件旨在扩展以适应大量数据。数据库,跨低带宽连接工作,并能承受网络中断。”
-SymmetricDS.org

Symmetric 被设计为用作 Java 库以及独立的应用程序。与 H2 这样的轻量级数据库一起使用,您可以避免过度杀伤的情况。H2 可以选择嵌入在应用程序中运行,并且可以将数据存储在内存或磁盘中。

免责声明:我最近开始在开发该软件的 JumpMind 公司工作。