3.一致性协议 2PC协议(ZooKeeper手记)
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,2PC和3PC来历在分布式系统中,每一个机器节点都能明确知道,自己在进行的事务操作是否成功(可以理解为单机操作),但是却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节
千家信息网最后更新 2026年11月01日3.一致性协议 2PC协议(ZooKeeper手记)
2PC和3PC来历
在分布式系统中,每一个机器节点都能明确知道,自己在进行的事务操作是否成功(可以理解为单机操作),但是却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个称为"协调者"的组件来统一调度所有分布式节点的执行逻辑,我们把他称作"参与者"。基于这个思想,衍生了2PC和3PC的两种协议。
1. 2PC(Two-Phase Commit)二阶段提交
阶段一:提交事务请求
- 事务询问。
协调者向所有的参与者发送事务内容,询问是否可以执行事务提交操作,并开始等待各参与者的响应。 - 执行事务
各参与者执行事务操作,并将undo和redo信息记入事务日志中。 - 各参与者向协调者反馈事务询问的响应
如果参与者成功执行了事务操作,那么反馈给协调者Yes响应,反之反馈No响应。
- 事务询问。
阶段二:执行事务提交 (阶段一反馈的结果都是Yes)
- 发送提交请求
协调者向所有参与者节点发出Commit请求。 - 事务提交
参与者接收到Commit请求后,会正式执行事务提交操作。 - 反馈事务提交结果
参与者在完成事务提交之后,向协调者发送ACK消息。 - 完成事务
协调者接受到所有参与者反馈的ACK消息后,完成事务。
- 发送提交请求
阶段二:中断事务 (阶段一反馈的结果有No或者有超时情况)
- 发送回滚请求
协调者向所有参与者节点发出RollBack请求。 - 事务回滚
参与者接收到RollBack请求后,利用阶段一中undo信息来执行事务回滚操作。 - 反馈事务回滚结果
参与者在完成事务回滚之后,向协调者发送ACK消息。 - 中断事务
协调者接受到所有参与者反馈的ACK消息后,完成事务中断。
- 发送回滚请求
- 优点
原理简单,实现方便。 - 缺点
- 同步阻塞
- 单点问题
- 数据不一致
- 太过保守
事务
参与者
协调者
阶段
节点
结果
分布式
消息
成功
信息
一致
优点
内容
单机
原理
多个
思想
情况
数据
日志
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
湖北九亚互联网络科技有限公司
互联网属科技
港股互联网科技股
互联网 科技公司
金融科技与互联网金融
小马过河互联网科技
天津摩尔互联网科技
广州凡科互联网科技
郑州华宇互联网科技
深圳艾佳互联网科技
天扬科技互联网广告
须眉科技是互联网公司吗
创业天下互联网科技有限公司
厦门比较好的科技互联网公司
新兴科技互联网创新大赛颁奖典礼
迪庆互联网科技招生
晋城互联网科技
广州燕处互联网科技有限公司
中国互联网公司的科技投入
合肥互联网科技公司
互联网 新科技
镁科技互联网资讯平台
互联网公司科技股
广州市恰铎互联网科技有限公司
内蒙古九一互联网科技
众安科技工业互联网合作
互联网时代科技型公司的机会
艺电能源互联网科技有限公司招聘
承德科技产业互联网平台