分布式系统中,不同的节点进行信息共享的一种分散式发散消息的协议
被Redis、Apache Cassandra、Consul等项目应用
Gossip消息传播模式
- 反熵
- 传谣
反熵
集群中的节点,每隔段时间就随机选择某个其他节点,交换数据来消除两者的差异,实现数据的最终一致性
主要有三种方式实现
- 推:把自己的副本数据推给对方,修复对方副本中的熵
- 拉:拉取对方的副本数据,修复自己的熵
- 推拉:结合上面的两种
特点:简单实用,一般设计成闭环传播。节点过多或者节点动态变化时候就不适用了
谣言传播
一个节点一旦有了新的数据,就会变成活跃节点,会周期性地联系其他节点发送新数据,直到所有的节点都同步
Gossip协议的优缺点
优点:
- 简单
- 容忍动态节点
- 速度快
缺点:
- 消息需要多轮才能传到整个网络
- 不允许存在恶意节点
- 可能会出现消息冗余