服务器gossip协议,几种常见的分布式一致性协议介绍

Zab

把节点分两种,Leader(主)和Follower(从)。 有一个主节点,所有写操作全部通过节点进行处理,如果一个从节点收到了一个写操作请求,就会转给主节点处理。 其他节点都是从节点,可以通过从节点进行读操作。 主节点通过选举得出,主节点失踪后,其他从节点自动开始选举新的主节点。

使用

Zookeeper

参考

Raft

Raft将一致性的问题分解为了三个问题:

Leader Election:在Leader故障的时候,选出一个新的Leader。

Log Replication:Leader需要让日志完整地复制到集群内的所有服务器

Safety:如果某个服务器在特定的index提交了一个日志,那么不能有其它的服务器在相同的index提交日志,同一时刻只能保证有一个Leader。

发现主节点失踪一段时间后,向所有从节点向其他从节点发消息,让他们选自己为新的主节点;

还没参加选举的节点如果收到其他节点的选举请求,就选举自己收到的第一个节点,后面谁再请求自己支持选举,就告诉他们我已经支持另一个节点了

如果一个节点发现另一个节点得到的支持比自己多,也就开始无条件支持那个节点选举,同时让支持自己的节点也去支持它

如果一轮没选出来得到大多数节点支持的主节点,就开始下一轮选举,直到一个节点得到了大部分节点支持,成为新的主节点;

使用

Redis使用了类Raft的算法

参考

Gossip

Gossip协议如其名,流行病协议,一个节点有状态需要更新到网络的其它节点的时候,它会随机的选择周围的几个节点散播消息,收到消息的节点会重复这个过程,直到网络中所有的节点都收到了消息。这个过程需要一定的时间,消息之间的传递具有一定的延迟性。但是理论上所有的节点都会收到所有的消息,因此它是一个最终一致性消息。

使用

ElasticSearch在寻找Node时候使用了类Gossip的协议

参考

额外

Lease

Lease 是由颁发者授予的在某一有效期内的承诺。颁发者一旦发 出 lease,则无论接受方是否收到,也无论后续接收方处于何种状态,只要 lease 不过期,颁发者一 定严守承诺;另一方面,接收方在 lease 的有效期内可以使用颁发者的承诺,但一旦 lease 过期,接 收方一定不能继续使用颁发者的承诺。

最后

我对这些分布式协议目前了解的还不够透彻,后面再进行研究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值