📜  GOSSIP协议在Cassandra中的工作

📅  最后修改于: 2021-08-27 07:39:58             🧑  作者: Mango

在本文中,我们将讨论Gossip协议的概述,并且主要关注Gossip协议的工作以及群集中与其他节点进行通信的角色。让我们一一讨论。

八卦协议
在Cassandra中,节点之间通过八卦协议进行通信。闲话协议的主要作用是识别环中其他节点在做什么。 Gossip协议的主要存在,是为了确保每个节点都知道自己以及环网中其他每个节点的状态。

八卦协议的工作:
在本文中,我们讨论Gossip协议的工作原理,我们将了解Gossip协议的实际工作原理,并将主要关注两个节点之间的通信是如何发生的。八卦协议必须能够知道其他节点的运行状况并找到其他节点。现在,我们将一一讨论功能。

它很可能是TCP 3向握手协议。

  1. SYN –
    在同步部分,它将GossipDigestSynMessage请求发送到群集中的接收节点,接收节点将获得此请求并做出相应的响应。
  2. ACK –
    请求同步后,一旦接收节点将收到请求,它将确认该请求并发送GossipDigestAckMessage。
  3. ACK2 –
    最后,初始节点将获得确认,然后它将GossipDigestAck2Message发送到接收节点,以确认来自接收节点的确认响应。

八卦协议的工作步骤:

  1. 最初,要接收端点状态信息,它将在Cassandra启动时完成,并向Gossiper注册。
  2. 之后,通常每秒钟一次,然后,闲聊会在环网中选择一个随机节点以启动闲聊会话。
  3. 之后,发起节点将把GossipDigestSynMessage请求发送到接收节点,这仅意味着它正在请求同步。
  4. 之后,当接收节点收到请求时,它将使用GossipDigestAckMessage消息确认该请求,以确认该请求。
  5. 最后,当启动节点将从接收节点获得确认时,它将再次发送带有GossipDigestAck2Message的确认。

参考 :
https://wiki.apache.org/cassandra/ArchitectureGossip