阿里巴巴Seata微服务下的分布式事务TCC架构设计原理

本文介绍了Seata事务模式,特别是TCC模式的设计原理,详细讲解了Seata TCC架构,包括TM、RM与TC的角色,以及TCC的Try、Confirm和Cancel阶段在业务中的应用。Seata TCC模式对业务代码有一定侵入性,但性能优于AT模式。
摘要由CSDN通过智能技术生成

在信息时代的网络环境下,如何保证业务数据的正确性,成为重要的核心点,而数据库产品在业务数据中提供了一套完整的策略机制(原子性,一致性,隔离性,持久性),业务程序不管与数据库是单次单表交互(程序数据与数据表可能构成一个业务的原子性)还是多次多表交互(业务数据分散在多表中通过多次协议交换),事务充当了业务数据完整性很重要的角色。

本地事务 :大部分数据库自身携带事务特征,业务不需要切入业务事务的保障。

分布式事务 :各自的数据库只能保证本库的表事务,而涉及多库之间的业务数据表一致,显得难以控制实现极其复杂,如果以各自的数据库事务为基础,在此基础上构建一套事务协调系统,那么分布式数据源事务控制就变得特别简单。

Seata事务模式架构

Seata 定义了全局事务的框架。全局事务 定义为若干 分支事务 的整体协调:

image.png

  • TM 向 TC 请求发起(Begin)、提交(Commit)、回滚(Rollback)全局事务。
  • TM 把代表全局事务的 XID 传递到各个业务服务的分支事务上。
  • RM 向 TC 注册,把分支事务关联到 XID 代表的全局事务中。
  • RM 把分支事务的执行结果上报给 TC。
  • TC 发送分支提交(Branch Commit)或分支回滚&#
  • 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、付费专栏及课程。

余额充值