分布式系统中的事务处理:Paxos、Saga 及相关框架解析
1. Paxos 共识协议
Paxos 共识协议由 Leslie Lamport 在 1998 年提出,旨在克服 2PC 和 3PC 协议的局限性。当系统中的大多数参与者都存在且消息延迟最小时,系统不会被阻塞。
1.1 主要角色
- Proposer :负责发起协议,提出客户端希望整个系统达成一致的可能值。它向接受者发送提案编号,并等待大多数接受者的响应。如果大多数接受者同意,将返回任何先前接受提案的值;如果大多数接受者拒绝或未能回复,将放弃该提案并重新开始。
- Acceptor :对 Proposer 提出的提案做出响应。参与事务的所有节点都需要知道形成多数的接受者的法定人数。接受者收到提案后,将其值与客户端已经接受的最高值提案进行比较。如果新提案更高,则回复同意;否则,回复拒绝。
- Learner :负责了解接受者在共识阶段选择了哪个值。
1.2 协议阶段
- Promise 阶段 :Proposer 提出一个用于达成共识的值,然后使用从序列生成的唯一标识号将该值传达给所有接受者(或法定人数)。接受者收到提议的值后,检查它是否高于客户端已经同意的最后一个 ID。如果评估结果为真,接受者将向 Proposer 回复一个承诺消息;否则,不采取任何行动。
- Commit 阶段 :Propo
超级会员免费看
订阅专栏 解锁全文
1644

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



