Advertisement

分布式03-分布式一致性协议2PC、3PC、Paxos及Raft协议

阅读量:

在分布式系统架构的设计过程中,服务的可用性与数据的一致性往往需要进行取舍,这种需求也促使了多种一致性协议的出现,其中包括2PC一致性协议、3PC一致性协议、Paxos一致性算法以及Raft一致性算法等常见方案。

一、2PC一致性协议

2PC,全称为二阶段提交协议,是一种在分布式系统中用于管理多个节点事务提交过程的机制,其核心在于将事务处理流程划分为两个独立阶段进行操作:

第一阶段为事务执行阶段,即各个节点对事务进行预处理,但暂不正式提交;

第二阶段为事务提交阶段,协调者负责收集所有节点在第一阶段的执行结果,并根据反馈决定是否允许所有节点正式提交事务。

(1)阶段一:执行事务

  • 协调者向各参与者发送具体的事务内容;
  • 参与者接收到指令后立即开始执行相关操作,并将Undo(用于保持系统一致性)和Redo(确保事务具备原子性与持久性)的信息记录到日志中;
  • 若所有节点均成功完成操作,则向协调者返回"YES"确认信息;若存在任一节点失败,则返回"No"响应。

(2)阶段二:执行事务提交

  • 当协调者确认所有参与者均返回了"YES"信号后,会向所有参与者发出"Commit"命令;
  • 参与者接收到该指令后正式完成事务的提交,并在完成后向协调者发送"ACK"回应;
  • 协调者在接收到全部的"ACK"信号后,标志着整个事务流程

全部评论 (0)

还没有任何评论哟~