很多人喜欢把 Paxos 说成是一致性协议,但是一致性这个词其实会给大家误导,会把这个一致性和 ACID 的一致性(Consistency)联想在一起,Paxos 的“一致性”实际上是 consensus,中文翻译成“共识”可能会更加准确一点,这个“共识”更强调的是多副本状态的一致性。
本篇面试内容划重点:Paxos、Raft 的主要内容。
Paxos 协议
Paxos 是最基础的分布式共识算法,用于解决分布式系统中多副本一致性问题,它可以说是这一领域的奠基石,后面基本所有的相关算法都是基于它做的改造。
角色说明
- Client 产生议题者:即客户端,发起请求产生议题的角色,实际不参与选举过程。
- Proposer 提议者:Proposer 可以有多个,负责接受 client 的请求,并向 acceptor 发起提议。提交分为两个阶段,具体流程下面有详解。
- Acceptor 决策者:Acceptor 负责接受 Proposer 的议案,但是议案必须获得超过半数(N/2+1)的 Acceptor 确认后才能通过。
- Learner 最终决策
本文深入探讨分布式共识算法,包括Paxos的基础原理、角色说明及执行流程,以及Raft协议的选举阶段和日志同步过程。Paxos中的Proposer、Acceptor和Learner角色,以及Raft中的Leader、Follower和Candidate角色,都在文中得到详细阐述。
订阅专栏 解锁全文
1943

被折叠的 条评论
为什么被折叠?



