在本文中,我们将讨论Gossip协议的概述,并且主要关注Gossip协议的工作以及群集中与其他节点进行通信的角色。让我们一一讨论。
八卦协议:
在Cassandra中,节点之间通过八卦协议进行通信。闲话协议的主要作用是识别环中其他节点在做什么。 Gossip协议的主要存在,是为了确保每个节点都知道自己以及环网中其他每个节点的状态。
八卦协议的工作:
在本文中,我们将讨论Gossip协议的工作原理,我们将了解Gossip协议的实际工作原理,并将主要关注两个节点之间的通信是如何发生的。八卦协议必须能够知道其他节点的运行状况并找到其他节点。现在,我们将一一讨论功能。
它很可能是TCP 3向握手协议。
- SYN –
在同步部分,它将GossipDigestSynMessage请求发送到群集中的接收节点,接收节点将获得此请求并做出相应的响应。 - ACK –
请求同步后,一旦接收节点将收到请求,它将确认该请求并发送GossipDigestAckMessage。 - ACK2 –
最后,初始节点将获得确认,然后它将GossipDigestAck2Message发送到接收节点,以确认来自接收节点的确认响应。
八卦协议的工作步骤:
- 最初,要接收端点状态信息,它将在Cassandra启动时完成,并向Gossiper注册。
- 之后,通常每秒钟一次,然后,闲聊会在环网中选择一个随机节点以启动闲聊会话。
- 之后,发起节点将把GossipDigestSynMessage请求发送到接收节点,这仅意味着它正在请求同步。
- 之后,当接收节点收到请求时,它将使用GossipDigestAckMessage消息确认该请求,以确认该请求。
- 最后,当启动节点将从接收节点获得确认时,它将再次发送带有GossipDigestAck2Message的确认。
参考 :
https://wiki.apache.org/cassandra/ArchitectureGossip