work hard work smart

专注于Java后端开发。 不断总结,举一反三。
posts - 1002, comments - 140, trackbacks - 0, articles - 0
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

分布式事务介绍

Posted on 2020-05-11 22:42  work hard work smart  阅读(30)  评论(0编辑  收藏

一、概念

    分布式事务就是将多个节点的事务看成一个整体处理

 分布式事务由事务参与者、资源服务器、事务管理器等组成 

    常见的分布式事务的例子: 支付、下订单等

 

二、实现思路

两段式事务和三段式事务

基于XA的分布式事务

基于消息的最终一致性方案

TCC编程式补偿事务(被认为最好的方式)

 

1、两段式事务(很少使用)

 

 

2、基于XA的分布式事务

 

 

3、基于消息的最终一致性方案(用的比较广泛)

 

4、TCC编程式补偿事务

 

 

 

三、基于消息的最终一致性方案与TCC编程式补偿事务的区别

基于消息事务是强一致性事务,会存在资源浪费

TCC事务是柔性事务,在try阶段要对资源做预留

TCC事务在确认或取消阶段释放资源

与基于消息事务对比,TCC的时效性更好

 

四、分布式事务框架

全局事务服务(Global Transaction Service,简称GTS)

蚂蚁金服分布式事务(Distributed Transaction-eXtended,简称DTX)

开源TCC框架(TCC-Ttansaction)

开源TCC框架(ByteTCC)

 

五、Seata总结