分布式事务Seata框架的AT模式

本文介绍了分布式事务中的各种模式,如XA、2PC、3PC、TCC和柔性事务,并重点讲解了Seata框架的AT模式,这是一种无侵入的、类似于自动化的TCC模式,具有在提交前需获取全局锁等优点,但也存在不足。
摘要由CSDN通过智能技术生成

大纲

  • 分布式事务
  • seata架构

1.分布式事务

在分布式系统架构中,复杂的业务需要跨库操作,要保证全局的事务一致性问题就得需要解决分布式事务问题。

1.1 XA规范

XA规范中,规定了三种角色:AP应用程序、RM资源管理器(数据库)、TM事务管理器。XA规范定义了RM-TM的通信接口。

1.2 2PC两阶段提交

2PC和XA规范没有必然联系,但是2PC模式是对XA规范的一种抽象实现和优化。2PC一共有2个阶段:预提交和commit。

     1. TM通知每个RM准备提交各自的本地事务。
     1. TM根据步骤1各个RM反馈的预提交结果来决定是否下达commit的命令。

2PC存在几个严重的问题:

     - 阻塞延迟较大。
     - TM的单点故障问题。
     - 全局数据不一致问题,在阶段二中,TM下达了commit操作,但是只有一部分RM接收到了commit,一部分没有接收到,就产生了不一致的问题。

1.3 3PC三阶段提交

3PC是2PC的改进版本,但是没有本质区别,和2PC不同的是:

     - 引入了超时机制,在TM和RM都存超时机制。
     - 在2PC的预提交和commit中间穿插了一个准备阶段,所以3PC有3个阶段:CanCommit、PreCommit、Commit。

1.4 TCC

Try-Confirm-Cancel,本质也是业务服务化的两阶段提交协议,TCC一共有3个步骤,第一阶段需要由应用程序来进行对资源的预留࿰

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值