目录
一、基本架构
1、Seata事务中的三个重要角色
2、四种不同的分布式事务解决方案:
二、TC的部署
三、微服务集成Seata
1、引入Seata相关依赖
2、配置yml文件
3、启动服务
一、基本架构
- Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。
- 致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。
官网地址:Seata | Seata,其中的文档、播客中提供了大量的使用说明、源码分析。
1、Seata事务中的三个重要角色
(1)TC (Transaction Coordinator) - 事务协调者
维护全局和分支事务的状态,协调全局事务提交或回滚。
(2)TM (Transaction Manager) - 事务管理器
定义全局事务的范围、开始全局事务、提交或回滚全局事务。
(3)RM (Resource Manager) - 资源管理器
管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。
2、四种不同的分布式事务解决方案:
- XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入
- TCC模式:最终一致的分阶段事务模式,有业务侵入
- AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式
- SAGA模式:长事务模式,有业务侵入
二、TC的部署
三、微服务集成Seata
1、引入Seata相关依赖
<!-- seata依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><exclusion><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></dependency>
2、配置yml文件
seata:registry:type: nacosnacos:server-prot: 127.0.0.1:8848namespace: ""group: SEATA_GROUPapplication: seata-tc-serverusername: nacospassword: nacostx-service-group: seata-demoservice:vgroup-mapping:seata-demo: default