了解 Gossip 协议
Posted
技术标签:
【中文标题】了解 Gossip 协议【英文标题】:Understanding Gossip protocol 【发布时间】:2017-01-18 13:41:42 【问题描述】:我正在阅读 akka 集群文档,现在我在 Gossip 部分。我没看懂下面的说法:
集群成员使用 Gossip 协议进行通信,其中 集群的当前状态通过集群随机传播, 优先考虑未看过最新版本的会员。
很难想象。我有以下问题:
问题:如果最新的变化仍然被八卦,节点如何知道哪些成员没有看到最新的变化。
我的意思是,如果一个节点收到通知,它如何决定将它发送到哪里?显然,它不应该将其发回,因为发件人已经看到了最新的更改。但是其他成员呢?他们中的一些人可能已经看到了状态,除了查询所有这些成员之外,没有其他方法可以弄清楚。但是如果我们查询一个节点,它会在查询过程中回复“不,我还没有看到它”,那么有人可能会将状态发送给它......
【问题讨论】:
【参考方案1】:在下一段中,文章将讨论使用矢量时钟。它说
收敛是通过传递一组在 gossip 期间看到当前状态版本的节点来实现的。
请注意,我以前从未在 gossip 协议中看到过这种情况,因为它通常会很快自行收敛。我会去寻找源头,但我记得当八卦者交换信息而不是仅仅推送信息时,大约 1000 个节点会在大约 10-15 步内收敛。
【讨论】:
非常有趣,谢谢。但有一件事我不明白。我发布了另一个问题。 ***.com/questions/39448766/…以上是关于了解 Gossip 协议的主要内容,如果未能解决你的问题,请参考以下文章