阿里微服务组件seata中at模式原理

Seata的AT(Automatic Traction)模式是一种基于代理的分布式事务解决方案,它通过拦截和管理事务操作来实现数据一致性。

在AT模式中,Seata会使用代理数据库驱动或ORM框架来拦截应用程序与数据库之间的交互,并在事务边界内进行事务管理。以下是AT模式的工作原理:

  1. 事务划分:应用程序中的每个服务都会被Seata的AT模式代理包裹,形成一个事务边界,跨越多个服务和数据库。

  2. 事务协调器(Transaction Coordinator):Seata的事务协调器负责协调分布式事务的执行。它作为一个独立的组件,集中管理事务的提交和回滚。

  3. 两阶段提交(Two-Phase Commit):在AT模式中,Seata使用两阶段提交协议来保证事务的一致性。

    • 第一阶段(准备阶段):当一个分布式事务开始时,事务协调器将向所有参与者(服务和数据库)发送准备请求,并要求它们进行预提交(Pre-commit)。参与者会在本地执行事务操作,但不会立即提交。

    • 第二阶段(提交阶段):如果所有参与者的预提交都成功,事务协调器将向它们发送提交请求,并要求它们进行最终的事务提交。参与者会在本地执行实际的事务提交操作,确保数据的一致性。如果其中任何一个参与者的预提交失败,事务协调器将向所有参与者发送回滚请求,并要求它们进行事务回滚。

  4. 非侵入式代理:Seata的AT模式通过代理数据库驱动或ORM框架来实现对事务操作的拦截和管理。这些代理会根据事务的开始和结束情况,在适当的时机触发准备、提交或回滚操作。应用程序无需显式编写分布式事务相关的代码,从而降低了开发的复杂性。

通过以上工作原理,Seata的AT模式实现了跨多个服务和数据库的分布式事务管理和一致性保障。它简化了开发人员处理分布式事务的复杂性,并提供了可靠的数据一致性保证。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程简介: 课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程。对于难以理解的知识点,全部用画图+实战的方式讲解。 第一部分:彻底明白事务的四个特性:原子性、一致性、隔离性、持久性,用场景和事例来讲解。 第二部分:实战讲数据库事务的6并发异常:回滚丢失、覆盖丢失、脏读、幻读、不可重复读、MVCC精讲。 第三部分:彻底搞清楚4种事务隔离级别:READ_UNCOMMITTED 读未提交隔离级别、READ_COMMITTED 读已提交隔离级别、REPEATABLE_READ 可重复度隔离级别、SERIALIZABLE 序列化隔离级别 第四部分:彻底搞清楚MySQL的各种锁:行锁、表锁、共享锁、排它锁、Next-Key锁、间隙锁、X锁、S锁、IS锁、IX锁、死锁、索引与锁、意向锁等。 第五部分:彻底搞清楚Spring事务的7种传播级别的原理和使用:PROPAGATION_REQUIRED、PROPAGATION_SUPPORTS、PROPAGATION_MANDATORY、PROPAGATION_REQUIRES_NEW、PROPAGATION_NOT_SUPPORTED、PROPAGATION_NEVER、PROPAGATION_NESTED分布式事务的理论基础:RPC定理、BASE理论、XA协议都是什么,原理是什么,有什么关联关系 第六部分:分布式事务的5种解决方案原理和优缺点:2PC两阶段提交法、3PC三阶段提交法、TCC事务补偿、异步确保策略、最大努力通知策略 第七部分:阿里巴巴分布式事务框架Seata:历经多年双十一,微服务分布式事务框架,用一个Nacos+Spring Cloud+Seta+MySql的微服务项目,实战讲解阿里的分布式事务技术,深入理解和学习Seata的AT模式、TCC模式、SAGA模式。 课程资料: 课程附带配套2个项目源码72页高清PDF课件一份阿里巴巴seata-1.1.0源码一份阿里巴巴seata-server安装包一份

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值