2PC和后置提交

  分布式事务,常见的是2pc、tcc

  2pc是分为两个阶段:preCommit和commit,多个节点preCommit成功,协调者再通知各节点,去commit

  tcc是try-confirm-cancel,try阶段是各节点去检查参数和执行,若有一个节点出问题,则进入cancel阶段;若都顺利执行完,则进入confirm阶段

  

  后置提交,在大佬58沈剑的文章 分布式事务,原来可以这么玩? 里,看到了这个概念。感觉很清奇,但是,仔细一想想,其实后置提交本质就是2pc,它是2pc的简化版。2pc有”协调者”角色,后置提交的“协调者”那就是主线程

  当一个项目,配置了多个数据源的时候,使用后置提交,很大程度上,缩短了不可控的时间区间,因为执行sql比较耗时,提交事务很快,若各个节点都执行完毕再去提交,那出问题也只会在提交事务的时间段内。
  缺点是所有节点事务会在同一时间提交,首节点需要等待末节点执行完毕才会去提交,更长的占用数据库连接,降低了吞吐量

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值