深入理解Basic Paxos协议

本文深入探讨了Paxos协议的作用、基本概念、流程及存在的活锁问题。Paxos协议用于在分布式系统中确保一致性,通过两个阶段的提案过程来确定并保持不可变的值。在流程中,提议者需获得多数接受者的访问权才能进行提案,同时确保已确定的值不会被改变。文章还分析了如何避免活锁情况的发生,指出适当的时间错开可以防止活锁的形成。
摘要由CSDN通过智能技术生成

Paxos作用

Paxos用来在多个节点间确定并只确定一个不可变变量的取值。(一旦确定后就不可以更改)

基本概念

  • 系统内部由多个Acceptor组成,也就是参与决议的一方,用于存储和管理变量。
  • 系统外部有多个提议者Proposer可以任意并发调用API,向系统提交不同的提议。
  • Proposer发起的每项提议分别用一个ID标识,提议可表示为(ID, value)。
  • ID是一个比较大小的值,比如可以用当前时间戳。
  • 访问权:Paxos的第一阶段要使用新生成的ID去获取访问权,第二阶段使用这个代表访问权的ID以及对应的值去提议。

规定

  • acceptor可以接受(accept)不止一项提议,当多数(quorum) acceptor接受一项提议时该提议被确定(chosen)。(提议是否确定只有proposer知道,也就是通过第一阶段的返回值来了解,acceptor是不知道自己接受的提议确定了没有的)
  • 如果一项值为v的提议被确定,那么后续只确定值为v的提议。(也就是只有ID可以改)
  • 如果一项值为v的提议被确定,那么proposer后续只发起值为v的提议。
  • 对于提议(n,v),acceptor的多数派S中,如果存在acceptor最近一次(即ID值最大)接受的提议的值为v’,那么要求v = v’;否则v可为任意值。(也就是如果acceptor中已经有接受提议的,那选择其中ID最大的提议值作为本次提议的value;如果都没有接受提议,那就按照自己原本的提
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值