加载中...

Gossip 协议(又称流行病协议,Epidemic Protocol)是一类去中心化的信息扩散协议:每个节点周期性地随机挑选若干其他节点交换状态信息,信息像流言一样在集群中指数级扩散,最终所有节点收敛到一致状态。其理论基础可追溯到 1987 年 Xerox PARC 关于复制数据库最终一致性的研究。
Gossip 没有中心节点和固定拓扑,天然具备高容错与可扩展性:单个节点失效不影响整体传播,消息负载均匀分摊,信息在 O(log N) 轮内覆盖全网。代价是收敛只有概率性保证,存在传播延迟,因此适合传播小规模元数据而非业务数据。
Gossip 在工程中应用广泛:Cassandra 用它交换节点状态与 schema 信息;Redis Cluster 的节点间通过 Gossip 消息维护集群视图;Consul 与 Serf 基于 SWIM 协议(Gossip 的改进变体)做成员管理与故障检测;区块链网络的交易和区块广播本质上也是 Gossip 传播。

登录 后参与讨论
暂无讨论,来发表第一条评论吧