(1). Gossip是什么

Gossip 协议(Gossip Protocol)又称Epidemic协议(Epidemic Protocol),是基于流行病传播方式的节点或者进程之间信息交换的协议,在分布式系统中被广泛使用, Gossip Protocol最初是由施乐公司帕洛阿尔托研究中心(Palo Alto Research Center)的研究员艾伦·德默斯(Alan Demers)于1987年创造的.
从Gossip单词就可以看到,其中文意思是八卦、流言等意思,我们可以想象下绯闻的传播(或者流行病的传播),Gossip协议的工作原理就类似于这个.Gossip协议利用一种随机的方式将信息传播到整个网络中,并在一定时间内使得系统内的所有节点数据一致.
Gossip其实是一种去中心化思路的分布式协议,解决状态在集群中的传播和状态一致性的保证两个问题,使用Gossip协议的有:Redis Cluster、Consul、Apache Cassandra等.

(2). Gossip优势

(3). Gossip协议的类型

前面说了节点会将信息传播到整个网络中,那么节点在什么情况下发起信息交换?这就涉及到Gossip协议的类型.目前主要有两种方法:

(4). Gossip协议的通讯方式

不管是Anti-Entropy还是Rumor-Mongering都涉及到节点间的数据交互方式,节点间的交互方式主要有三种:Push、Pull 以及 Push&Pull.

(5). Gossip源码索引目录

源码地址: https://github.com/help-lixin/incubator-retired-gossip