分布式消息传递算法?

时间:2014-10-24 22:26:31

标签: replication distributed distributed-computing multi-master-replication crdt

我有一个分布式应用程序,我想在其中复制一个最终一致的状态。该数据适用于CRDT(http://pagesperso-systeme.lip6.fr/Marc.Shapiro/papers/RR-6956.pdf),它具有优异的性质,即每个节点在给定相同的消息集的情况下,将确定性地收敛到相同的值,而无需复杂的共识协议。

但是,我需要另一个消息/日志层,以确保每个节点实际看到每条消息,即使面对不利的网络条件。

具体来说,我正在寻找具有以下属性的算法:

  1. 适用于异步网络。
  2. 节点只需要知道他们的邻居,而不是整个网络。
  3. 可以随时添加或删除节点(即,网络不是固定大小或拓扑)。
  4. 网络可以是非循环的(如果需要,这可能是必需的)。
  5. 能够更新由于临时网络中断或丢失邮件而落后的节点。
  6. 能够使新的空节点最新加入群集。
  7. 网络收敛一个值所花费的时间没有硬性限制(也就是说,每个节点都收到每条消息),但没有分区,它应该相当快(模糊地说,一个问题)几分钟,而不是几分钟)。
  8. 大小有限。保持整个消息历史记录(将无限增长)的算法是不合适的。
  9. 是否有人知道具有这些属性的算法?

0 个答案:

没有答案
相关问题