2PC到3PC到Paxos到Raft到ISR
分布式理论系列 从ACID到CAP到BASE 2PC到3PC到Paxos到Raft到ISR 复制、分片和路由 副本更新策略 负载均衡算法及手段 RWN及Quorum与强一致性 序 本文主要讲述2PC及3PC,以及Paxos以及Raft协议。 两类一致性( 操作原子性与副本一致性 ) 2PC协议用于保证属于多个数据分片上的操作的原子性。这些数据分片可能分布在不同的服务器上,2PC协议保证多台服务器上的操作要么全部成功,要么全部失败。 Paxos协议用于保证同一个数据分片的多个副本之间的数据一致性。当这些副本分布到不同的数据中心时,这个需求尤其强烈。 一、2PC(阻塞、数据不一致问题、单点问题) Two-Phase Commit,两阶段提交 1、阶段一:提交事务请求(投票阶段) (1)事务询问 协调者向所有的参与者发送事务内容,询问是否可以执行事务提交操作,并开始等待各参与者的响应 (2)执行事务 各参与者节点执行事务操作,并将Undo和Redo信息计入事务日志中 (3)各参与者向协调者反馈事务询问的响应 如果参与者成功执行了事务操作,那么就反馈给协调者Yes响应,表示事务可以执行;如果参与者没有成功执行事务,那么就反馈给协调者No响应,表示事务不可以执行。 2、阶段二:执行事务提交(执行阶段) (1)执行事务提交 如果所有参与者的反馈都是Yes响应,那么 A、发送提交请求