3.一致性协议 2PC协议(ZooKeeper手记)
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,2PC和3PC来历在分布式系统中,每一个机器节点都能明确知道,自己在进行的事务操作是否成功(可以理解为单机操作),但是却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
莫格莱尼服务器公会人数排名
网络安全对国防的重要性
关于中学生网络安全的事例
网络安全的基本知识
安卓软件开发难吗
为什么要开展网络安全宣传
sql数据库显示文字加密
助贷平台软件开发
单机诛仙数据库修改
电子商务如何保证网络安全
连接数据库的截图
服务器双电源设计要求
风控软件开发怎么样
爱淘拍网络技术有限公司
数据库表合并用什么字段
广州爱浦路网络技术邮编
程序测试数据库连接
西安软件开发工程师的工资
服务器查看用户名
中行软件开发 铁饭碗
去除冗余 数据库
闵行区咨询软件开发服务费
广达双子星服务器黄灯
腾讯云轻量服务器离线
clash服务器端
最牛广告语软件开发
快速合并两张表的数据库
乐视互联网科技有限公司
滴滴网络安全审查时间
总工会通报网络安全领域