在对等应用程序中实现一致的副本

时间:2014-01-11 06:26:42

标签: java replication p2p distributed distributed-system

所以我正在研究一个带有java分布式系统的学校项目,在一个简单的点对点项目中,餐馆可以更新他们当天的菜肴,客户可以搜索某个零售商以查看当天的菜肴。

除此之外,还要求我们在系统中添加冗余。意味着必须通过可自定义的因素复制存储在网络中的所有数据。我们需要这样做有两个原因:

  • 在环中搜索数据时,它将帮助我们加速研究:如果当前对等体拥有我们正在搜索的数据的复制版本,它可以直接引用它并停止搜索。

  • 在对等人突然死亡的情况下,我们想在网络中重新注入对等方在其副本死亡之前所拥有的数据。

此外,我们需要通过实施一致性协议使副本与原始副本保持同步。

我只是在寻找一个可以帮助我实现动态的代码示例,以及如何在对等应用程序中实现一致的数据副本以实现一致性和容错性。 谢谢。

1 个答案:

答案 0 :(得分:0)

以可靠和一致的方式复制数据是数据库管理系统擅长的(集群,主从,主 - 备用等)。但是设置它可能很复杂。相反,让每个对等体维护一个本地(HSQLDBH2)数据库,将所有其他对等体视为“远程数据库”,并使用this回答中列出的简单算法制作复制品并保留数据更新。