custer模式下节点之间的通信遵循着gossip协议
gossip协议
节点之间采用Gossip协议进行通信,Gossip协议就是指节点彼此之间不断通信交换信息。
gossip协议如下:
meet消息
用于通知新节点的加入。
meet消息通信完后,接收节点会加入到集群中,并进行周期性ping pong交换。
ping消息
用于检测其他节点的状态。
节点每秒都会向其他节点发送ping消息,用来检测其他的节点的状态。
pong消息
用于返回请求节点请求之后的消息。
节点接收到meet,ping消息之后,向发送自己消息的节点发送(返回)pong消息。
fail消息
用于广播节点的下线消息。
集群里某节点一旦检测到有下线节点的时候,就会向集群广播节点下线的消息。
消息流程图解