知识卡片

Paxos用多数派选举解决分布式一致性

专业/工作 · 553.d

内容

单机场景下多个客户端并发操作同一份数据可以直接加锁解决先后顺序问题,但分布式场景下如果引入一个专门分配锁的节点,这个节点自己又会变成新的单点故障和性能瓶颈。Paxos换了个思路:只要2N+1个节点里有超过N个节点认可某个决定,系统就认定达成了一致,不再改变。客户端不需要等所有节点都响应,只要凑够多数派就能继续推进,也不要求所有服务器都在线,只要多数节点正常工作,整个系统就能持续运转。发散:这是”用多数派共识替代单点仲裁”的经典思路——单点仲裁简单但脆弱,全体一致安全但要求苛刻到不现实,多数派恰好卡在两者中间,用”容忍少数节点缺席或出错”换来了不需要单点协调者也能达成一致的能力,后续的Raft、ZAB等一致性算法都是在这个思想上做工程化改良。

参考来源

《Linux开源存储全栈详解从Ceph到容器存储》第5章《存储安全》