3.一致性协议 2PC协议(ZooKeeper手记)
发表于:2024-10-08 作者:千家信息网编辑
千家信息网最后更新 2024年10月08日,2PC和3PC来历在分布式系统中,每一个机器节点都能明确知道,自己在进行的事务操作是否成功(可以理解为单机操作),但是却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节
千家信息网最后更新 2024年10月08日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安全错误
数据库的锁怎样保障安全
网络安全志愿者怎么报名
网络安全应急响应机制
骑砍2装备数据库
微信背景图会上传到服务器吗
2k20服务器怎么用
信息网络安全大调研课题
阿里云服务器在哪里下载
阜阳网络技术学院怎样
地平线4无法连接地平线服务器
应用服务器框架
安徽清晨网络技术有限公司
数据库技术及应用添加数据
戴尔e38s服务器安装
数据库t4认证是什么
服务器内存三大厂家
互联网服务器终端百科
第七章-网络安全设计
宽城区正规网络技术咨询售后服务
赴日软件开发加班
4k笔记本能否用于软件开发
ad10软件开发环境介绍
sql数据库层次
附加数据库提示无权限
用友数据库设计详细说明
朔州软件开发公司电话
电气软件开发
网络安全产品展览会
xml字符串保存数据库
阿里云轻量服务器站群ip
网络技术有限公司名字怎么起