Java 理解流言协议

Java 理解流言协议,java,scala,akka,distributed-system,gossip,Java,Scala,Akka,Distributed System,Gossip,我正在阅读akka集群文档,现在我在这个部分。我不理解以下陈述: 集群成员身份使用Gossip协议进行通信,其中 集群的当前状态通过集群随机传播, 优先选择未看到最新版本的成员 很难想象。我有以下问题: 问题:如果最近的更改仍然被传闻,节点如何知道哪些成员没有看到最新的更改 我的意思是,如果一个节点收到一个通知,它如何决定将其发送到哪里?显然,它不应该将其发回,因为发送者已经看到了最新的更改。但是其他成员呢?他们中的一些人可能已经看到了这个状态,除了查询所有这些成员之外,没有其他方法可以解决这个

我正在阅读akka集群文档,现在我在这个部分。我不理解以下陈述:

集群成员身份使用Gossip协议进行通信,其中 集群的当前状态通过集群随机传播, 优先选择未看到最新版本的成员

很难想象。我有以下问题:

问题:如果最近的更改仍然被传闻,节点如何知道哪些成员没有看到最新的更改


我的意思是,如果一个节点收到一个通知,它如何决定将其发送到哪里?显然,它不应该将其发回,因为发送者已经看到了最新的更改。但是其他成员呢?他们中的一些人可能已经看到了这个状态,除了查询所有这些成员之外,没有其他方法可以解决这个问题。但是如果我们查询一个节点,在查询过程中,它会以“不,我还没有看到它”作为响应,有人可能会向它发送状态…

在下一段中,本文将讨论使用向量时钟。上面说

收敛是通过传递一组节点来实现的,这些节点在闲谈期间看到了当前的状态版本


请注意,我以前从未在八卦协议中看到过这一点,因为它通常会很快自行收敛。我会去寻找来源,但我记得大约有1000个节点在10-15个步骤中会聚,当流言蜚语者交换信息而不是仅仅推送信息时。

非常有趣,谢谢。但有一件事我不明白。我发布了另一个问题。