3.一致性协议 2PC协议(ZooKeeper手记)
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,2PC和3PC来历在分布式系统中,每一个机器节点都能明确知道,自己在进行的事务操作是否成功(可以理解为单机操作),但是却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
开发一个软件开发难不难
银行怎样提高网络安全意识
区块链云服务器
前端怎么和数据库结合
小学网络安全工作报告制度
kms服务器安全吗
百度云保存服务器异常
瑜桦环保软件开发
合耀网络技术有限公司
数据库42s22在哪
2001年租用服务器的价格
网络安全法律翻译要点
小学生一年级网络安全公益画
高密慧中网络技术怎么样
博奥软件开发有限公司
数据库sql中拼接字符串
没有数据库监听服务器
软件开发保本销售额
网络安全事例主题班会
linux 查看服务器日志
怎么查看服务器型号
网络安全手册ppt
sql数据库登录服务器无效
惠普服务器怎么改时间
数据库2013繁体转换
传统行业改造 科技和互联网
厦门网约车软件开发
手机上的网络安全知识
web服务器管理口
小学生网络安全知识培训内容