三阶提交

一阶段:

    发送canCommit请求,这里的内容包含了提交内容。

二阶段:

    根据一阶段结果,如果:

    成功:

        1.发送preCommit请求,进入prepared阶段

        2.接收者进行事务操作,记录redo和undo log

        3.接收者将事务操作结果反馈

    失败:

        给所有接收者发送abort命令,接收者收到abort或者超时,都不会继续进行。

三阶段:

        根据二阶段结果:

        成功:

            向所有接收者发送doCommit请求,接收者收到后进行提交。收到所有接受者的ack后,事务结束。

        失败:

            发送abort请求,会进行回滚来中断事务。如果超时,这里会继续进行提交。

缺点:当某个节点在接收到preCommit后,它因为网络原因或者其他原因后,会继续提交造成不一致。

转载于:https://my.oschina.net/vqishiyu/blog/3093726

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值