知识卡片

Paxos加固两阶段提交

普通读书笔记卡 · 1723.b

内容

Spanner 的两阶段提交参与者和协调者都由 Paxos group 承载,锁和提交记录会复制到多数副本。发散:传统 2PC 容易被单点参与者卡住;用共识复制角色,可以让“角色失败”退化为“少数副本失败”。

参考来源

- 位置:《分布式系统与一致性》第8章《Google的Spanner数据库》Paxos与两阶段提交结合一节(源文件:_epub-src/OEBPS/Text/chapter12.xhtml) - 结论依据:原文明确"在两阶段提交中,如果参与的任何一个角色(包括participant和coordinator)发生宕机,事务都不能成功……将Paxos和两阶段提交组合在一起,可以很好地缓解这个问题。Paxos让两阶段提交的每个角色都有多个副本,少数节点出现故障宕机,并不会影响两阶段提交协议的继续运行"。 - 原始内容:上面介绍过Spanner通过Paxos算法将数据复制到多个副本上,但Paxos的作用不仅仅是提供复制功能,它还保证了两阶段提交在Spanner中的应用……Paxos让两阶段提交的每个角色都有多个副本,少数节点出现故障宕机,并不会影响两阶段提交协议的继续运行,即便某个角色的leader出现宕机……其他副本被选为leader后,也可以根据加锁信息对数据重新加锁,继续承担两阶段提交的角色。