【问题标题】:Understanding Gossip protocol了解 Gossip 协议
【发布时间】:2017-01-18 13:41:42
【问题描述】:

我正在阅读 akka 集群文档,现在我在 Gossip 部分。我没看懂下面的说法:

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

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

问题:如果最新的变化仍然被八卦,节点如何知道哪些成员没有看到最新的变化。

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

【问题讨论】:

    标签: java scala akka distributed-system gossip


    【解决方案1】:

    在下一段中,文章将讨论使用矢量时钟。它说

    收敛是通过传递一组在 gossip 期间看到当前状态版本的节点来实现的。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2023-03-08
    相关资源
    最近更新 更多