您现在的位置是:主页 > news > 免费制作论坛网站/seo网站建设是什么意思
免费制作论坛网站/seo网站建设是什么意思
admin2025/5/10 6:42:03【news】
简介免费制作论坛网站,seo网站建设是什么意思,建一个自己用的网站要多少钱,南京网站建设一条龙集群往往是由多个节点共同组成的,当一个节点加入集群或者一个节点从集群中下线的时候,都需要让集群中其他的节点知道,这样才能将数据信息分享给新节点而忽略下线节点。 A、B、C节点之间可以互相传递消息,但是D节点在下线之后会被…
集群往往是由多个节点共同组成的,当一个节点加入集群或者一个节点从集群中下线的时候,都需要让集群中其他的节点知道,这样才能将数据信息分享给新节点而忽略下线节点。
A、B、C节点之间可以互相传递消息,但是D节点在下线之后会被广播告诉其他存活节点。
这样的广播协议就是今天要说Gossip协议,Gossip协议也叫Epidemic协议(流行病协议),当一个消息到来时,通过Gossip协议就可以像病毒一样感染全部集群节点,当然我们利用的是它这个极强的散播能力。
Gossip的过程是由一个种子节点发起的,当一个种子节点有信息需要同步到网络中的其他节点时,它会随机的选择周围几个节点散播消息,收到消息的节点也会重复该过程,直至最终网络中所有的节点都收到了消息。这个过程可能需要一定的时间,所以不能保证某个时间点所有的节点都有该条消息,但是理论上最终所有节点都会收到消息,因此它是一个最终一致性协议。
Gossip协议的特点:
Gossip协议是周期性散播消息,每隔一段时间传播一次
被感染的节点,每次可以继续散播N个节点
每次散播消息时,都会选择尚未发送过的节点进行散播
收到消息的节点,不会向发送的节点散播
同一个节点可能会收到重复的消息,因为可能同时多个节点正好向它散播
集群是去中心化的,节点之间都是平等的
消息的散播不用等接收节点的ack,即消息可能会丢失,但是最终应该会被感染
我们来看个例子:
种子节点是A
A节点选择B、C节点进行散播
C散播到D,B散播D和E,可以发现D收到两次
D散播到F,最终整个网络都同步到了消息
Gossip有点类似图的广度优先遍历算法,一般用于网络拓扑结构信息的分享和维护,像redis、consul都有使用到。