1)、什么是seata
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
AT 模式适合 高并发不高的操作 如保存商品信息的适合
2)、概念
TC (Transaction Coordinator) - 事务协调者
维护全局和分支事务的状态,驱动全局事务提交或回滚。
TM (Transaction Manager) - 事务管理器
定义全局事务的范围:开始全局事务、提交或回滚全局事务。
RM (Resource Manager) - 资源管理器
管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。
3)、集成spring cloud
1、创建表
2、下载server包根据自己导入的依赖对应的server版本
如:下载0.7.1
4、pom.xml导入依赖
5、解压包
6、拷贝配置文件
7、修改配置文件
8、启动seata-server
9、查看示例例的配置
自己配置文件配置
@Bean
public DataSource dataSource(DataSourceProperties dataSourceProperties){
HikariDataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
if (StringUtils.hasText(dataSourceProperties.getName())) {
dataSource.setPoolName(dataSourceProperties.getName());
}
return new DataSourceProxy(dataSource);
}
10、每个微服务导入配置
11、再改配置
12、大事务入口用@GlobalTransactional,远程调用的用小事务@Transactional