【分布式】一致性算法 Multi Paxos

Paxos 算法的其中 2 类(还有其他类型):
1、Basic Paxos : 描述多节点之间如何就 单个值(Value)达成共识
2、Multi-Paxos : 描述执行多个Basic Paxos实例,对一系列值达成共识

Multi-Paxos 的目标就是实现 Replicated log.

一、优化

(一)引入领导者节点

只有领导者节点一个提议者,只有它说了算,所以就不存在提案冲突。

(二)简化阶段

领导者选举

在 Chubby 中,主节点是通过执行 Basic Paxos 算法,进行投票选举产生的。

并且在运行过程中,主节点会通过不断续租的方式来延长租期(Lease)。

稳定运行

领导者处于稳定状态时,省掉准备阶段,直接进入接受阶段。
在这里插入图片描述

二、应用

Chubby

写请求,发送到主节点
在这里插入图片描述
在 Chubby 中,为了实现了强一致性,读操作也只能在主节点上执行
在这里插入图片描述

ZK

Zookeeper是Chubby开源实现

ZKPaxos
协议ZAB
(只保证 写操作线性 + 客户端有序)
带租约的paxos
(线性一致性)
API提供临时Znode,需要client实现锁有直接的加锁API
目标追求 高吞吐量
(1)每个机器都可以读
(2)提供sync方法刷新值
读写都在master单机

在实际使用时,我不推荐你设计和实现新的 Multi-Paxos 算法,而是建议优先考虑 Raft 算法,因为 Raft 的正确性是经过证明的。

三、参考

极客时间
知乎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机智的路易

用爱发电是走不远的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值