关于选型部分略过。这个
注:看到这个可以直接关闭,本博客未深入理解此技术,也并未测试最后功能是否实现,仅将集成完成。并未测试可以实现分布式事务
1.介绍
这个可以看官网 点我
快速参考文档,个人感觉这个可能更适合一点新人点我
集成到spring cloud 官方文档
2.启动服务端
seata需要启动服务端,我使用的是mysql,所以本篇文章也是mysql
2.1 导入数据库 (我使用的file模式。所以我并没有使用到这个表,因我单机部署 以后为官网原话: file模式为单机模式,全局事务会话信息内存中读写并异步(默认)持久化本地文件root.data,性能较高;)
SEATA AT 模式需要 UNDO_LOG 表。可以通过 github 获取到指定版本的undo log SQL 脚本.点我跳转
选择对应的然后导入即可
导入后会有对应的表
2.2 : 启动服务
从 https://github.com/apache/incubator-seata/releases ,下载服务器软件包,将其解压缩。
然后修改conf目录下的application.yml为你需要的配置
application.example.yml 是完整配置文件参考
如果使用mysql的话需要导入对应的sql语句 在\script\server\db
3. spring cloud 集成
3.1 导入maven
导入的版本查看版本说明
我使用的是2.4.11。所以导入如下
<!-- 分布式事务 seata -->
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-seata -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<version>2021.1</version>
</dependency>
3.2 代码中使用
直接使用注解 @GlobalTransactional
评论区