当前位置:网站首页>两阶段提交与三阶段提交
两阶段提交与三阶段提交
2022-07-27 14:11:00 【华为云】
两阶段提交与三阶段提交
两阶段提交
上篇文章中我们说到两阶段提交2pc,两阶段提交还是有很多缺点的,它可能因为网络问题导致数据不一致,比如协调者发送的提交事务的请求由于网络问题只有部分参与者能接收到,这样部分参与者提交了事务而另一部分参与者没有提交就造成了数据的不一致,第二个问题就是协调者如果挂掉,参与者既没有提交也没有回滚,第三个问题就是同时在执行的时候参与节点的服务都是阻塞的,不能对外提供服务
三阶段提交
那么什么是三阶段提交,三阶段提交能否能解决这些问题呢?
三阶段提交分为CanCommit阶段,PreCommit阶段和doCommit阶段。第一个阶段是检查自身状态是否满足了事务操作的条件,一般可能是首先获取到这个分布式事务的锁,第二个阶段就是开始事务,但是没有提交,并返回给协调者结果,第三个阶段就是对事务的提交或回滚。
这就是三阶段提交的大致内容,那么三阶段提交是否解决了两阶段提交产生的问题呢?三阶段提交参与者也有超时机制,在preCommit的时候,如果收不到协调者的消息会执行中断事务,在doCommit阶段如果迟迟收不到协调者的消息就会进行事务提交,而数据的一致性问题和协调者的单点故障问题依然存在
总结
两阶段提交和三阶段提交都会存在一定的问题,三阶段提交相对二阶段提交多了参与者的超时机制,但剩余问题并没有得到解决,比如数据的一致性和协调者的单点故障的问题。
️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我️,点赞,评论,转发
- 关注
盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
边栏推荐
- LeetCode 781. 森林中的兔子 哈希表/数学问题 medium
- 【WORK】关于技术架构
- 多表查询_练习1&练习2&练习3
- LeetCode 190. 颠倒二进制位 位运算/easy
- @What happens when bean and @component are used on the same class?
- Forward proxy and reverse proxy
- telnet远程登录aaa模式详解【华为eNSP】
- lc marathon 7.26
- internship:其他配置类的编写
- Nefu117 number of prime numbers [prime number theorem]
猜你喜欢

Differences among CPU, GPU and NPU
![[ManageEngine] what is Siem](/img/a6/0fbe60df6bef337a91a10fe046aa8a.jpg)
[ManageEngine] what is Siem

移动端使用vantUI的list组件,多个tab项来回切换时,列表加载多次导致数据无法正常展示

视觉系统设计实例(halcon-winform)-10.PLC通讯

对话框管理器第三章:创建控件

LeetCode 240. 搜索二维矩阵 II medium

Research on multi label patent classification based on pre training model

Skywalking distributed system application performance monitoring tool - medium

Stm32f103c8t6 drives sh1106 1.3 "IIC OLED display under Arduino frame

SkyWalking分布式系统应用程序性能监控工具-中
随机推荐
STM32F103C8T6在Arduino框架下驱动ssd1306 0.96“ IIC OLED显示
idea打jar包与引入jar包
国信证券手机开户安全吗 中山证券靠谱吗
UnityUI方面处理(归纳与积累)
关于印发《深圳市工业和信息化局绿色制造试点示范管理暂行办法》的通知
C language layered understanding (C language array)
[Yunxiang book club issue 13] packaging format of video files
[popular science] the difference and connection between accuracy and resolution
Docker practical experience: deploy mysql8 master-slave replication on docker
Differences among CPU, GPU and NPU
【云享读书会第13期】视频文件的封装格式
The database uses PSQL and JDBC to connect remotely and disconnect automatically from time to time
Getting started with DirectX
【云享读书会第13期】多媒体处理工具 FFmpeg 工具集
Visual system design example (Halcon WinForm) -9. text display
NEFU119 组合素数【算术基本定理】
An example of building 3D effects on the web based on three.js
How to deploy open source Siyuan privately
DirectX 入门知识
LeetCode 90. 子集 II 回溯/medium