分布式事务之——两段式、三段式

本文详细介绍了分布式事务中的两段式和三段式提交过程,包括各自的操作步骤、优缺点和主要区别。两段式存在同步阻塞、单点故障和数据不一致等问题;而三段式通过引入预提交和超时机制,降低了阻塞范围,解决了单点阻塞,但仍有数据不一致的可能性。
摘要由CSDN通过智能技术生成

一、两段式

1、请求阶段(commit-request phase,或称表决阶段,voting phase)

事务询问。协调者向所有参与者发送事务内容,询问是否可以进行事务提交操作,然后就开始等待参与者的响应。

执行事务。各参与者节点执行事务操作(本地事务),并将Undo和Redo信息记入事务日志中。

各参与者向协调者反馈事务询问的响应。同意(事务参与者本地作业执行成功)或取消(本地作业执行故障)。

2、提交阶段(commit phase)
在该阶段,协调者将基于第一个阶段的投票结果进行决策:提交或取消。

当且仅当所有的参与者同意提交,事务协调者才通知所有的参与者提交事务,否则协调者将通知所有的参与者回滚事务。

两段式的缺点

1、同步阻塞问题。

执行过程中,所有参与节点都是事务阻塞型的。当参与者占有公共资源时,其他第三方节点访问公共资源不得不处于阻塞状态。

2、单点故障

当协调者出错,那么所有的参与者还都处于锁定事务资源的状态中,而无法继续完成事务操作。

3、

第二阶段当协调者再发出commit消息之后宕机,而唯一接收到这条消息的参与者同时也宕机了,那么即使协调者通过选举协议产生了新的协调者,这条事务的状态也是不确定的,没人知道事务是否被已经提交。

4、数据不一致

在二阶段提交的阶段二中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值