Seata分布式事务(一)环境介绍
通过Springboot搭建一个简单的简单的Rest接口,使用nacos作为注册中心注册和发现服务,集成Feign组件订阅服务实现远程调用。然后分别演示本地事务调用远程服务时候,如果本地事务发生异常,出现全局数据不一致的问题,然后集成Seata分布式事务框架处理方案,解决因为发生异常导致数据不一致的问题。
-
环境说明
- 代码运行环境:CentOS 7
- Spring boot版本:2.2.2.RELEASE
- Spring cloud版本:Hoxton.SR1
- Spring alibaba版本:2.2.0.RELEASE
- 数据库连接版本:Druid 1.2.6
- Feign版本:1.4.7.RELEASE
- JDK版本:JDK1.8
- Seata版本:1.4.1
- 数据库:Oracle 12C
-
整体步骤
- 搭建一个本地事务项目
- 安装Seata服务器
- 集成Seata分布式事务
-
注意事项(欢迎补充,共同学习,共同进步)
- 如果Nacos使用了权限校验,使用新的命名空间报403异常,参考:https://blog.csdn.net/zhaojiyuan1024/article/details/117407544
- Nacos命名空间请使用命名空间ID
- 如果没有可用的Oracle数据库,MySQL也大致都相同
- 使用Seata进行分布式业务处理的数据库表必须要有主键,必须要有主键,必须要有主键
- 有些需要下载的东西在github上,因此下载比较慢,推荐试用dev-sidecar进行加速,或者复制下载地址到迅雷进行下载,都可以解决