redis之gossip
redis之gossip
redis cluster 的Gossip协议介绍 https://www.bangbangde.com/post/gossip.html
深入解析redis cluster gossip机制 https://developer.aliyun.com/article/680237
Gossip 过程是由种子节点发起,当一个种子节点有状态需要更新到网络中的其他节点时,它会随机的选择周围几个节点散播消息,收到消息的节点也会重复该过程,直至最终网络中所有的节点都收到了消息。这个过程可能需要一定的时间,由于不能保证某个时刻所有节点都收到消息,但是理论上最终所有节点都会收到消息,因此它是一个最终一致性协议。
缺点
- 消息延时: 节点只会向少数几个节点发送消息,消息最终通过多个轮次散播才能到达全网
- 消息冗余:节点会定期随机选择周围节点发消息,收到的节点也会重复该步骤,不可避免存在消息重复发送给同一节点,造成消息的冗余。
Redis Gossip 协议的使用
- meet , 已有的集群节点会向新节点发送邀请,加入现有的集群
- Ping, 向集群中的其他节点发送ping
- pong,收到ping会pong
- fail,节点ping不通,会向虽有集群节点广播改节点不可用的消息