一、seata下载安装:
1、seata相关文档及下载地址
seata项目github地址:https://github.com/seata/seata
seata中间件下载地址:https://github.com/seata/seata/releases
seata中文官方文档:https://github.com/seata/seata/wiki/Home_Chinese
2、seata安装
1)seata中间件下载完毕后进入conf目录,目录如图
![2e916e92bfdfbe58a556def5373e01d2.png](https://i-blog.csdnimg.cn/blog_migrate/24b2d6649679da56414428e4356076b9.jpeg)
2)有两个sql文件db_store.sql和db_undo_log.sql。创建seata数据库并执行db_store.sql,该库为seata全局事务协调器RM使用。每个微服务都需要undo_log表,在每个微服务的数据库中执行db_undo_log.sql创建undo_log表。
3)本文采用nacos作为注册中心和配置中心。编辑nacos-config.txt,本人的配置信息如下:
![42f3d3256c07c70f62e751c12e29de19.png](https://i-blog.csdnimg.cn/blog_migrate/ebabf7639236f32084d747ef3fe9e8ec.jpeg)
其中涂掉的内容
store.db.url=数据库连接
store.db.user=数据库用户名
store.db.password=数据库密码
4)配置registry.conf主要将registry.type和config.type字段改成"nacos",配置信息如下:
![8f45564df849dd6afdf511837359a170.png](https://i-blog.csdnimg.cn/blog_migrate/57dc53ebd90e6769c171c8a740497b39.jpeg)
其中涂掉的内容
serverAddr填写nacos的ip地址,注意不要填写端口号,如果需要修改端口号,请在nacos-config.py中修改端口号。
5)运行nacos-config.py将配置好的配置项同步到nacos配置中心中。
示例:python nacos-config.py 127.0.0.1
127.0.0.1为nacos配置中心的ip,注意不要添加端口号。
py程序执行成功会显示
![1a5125c50f38ddead9eccb8f454d4c6c.png](https://i-blog.csdnimg.cn/blog_migrate/14111247ef0060949ddf94f862403d1d.png)
如果出现上述提示,那么恭喜配置工作已经成功完成。可到nacos管理后台查看配置项是否都已经同步成功。
6)运行bin目录下的seata-server.bat(win环境)或seata-server.sh(linux环境)
示例:seata-server.bat -p 9200 -h 127.0.0.1 -m db
p为端口,h为注册服务的ip,m为采用数据库记录模式。
启动成功后可登录nacos管理后台查看服务是否注册成功。
二、springcloud+nacos+seata搭建。
1、将registry.conf复制到resource目录下。
2、spring.cloud.alibaba.seata.tx-service-group=epdc-api-server-fescar-service-group
注意改配置的值必须与nacos-conf.txt中配置的service.vgroup_mapping后跟的名字相同。
示例:
service.vgroup_mapping.epdc-demo-server-fescar-service-group=default
3、需将DataSource数据源改成seata的代理数据源DataSourceProxy
示例:
![d40d151f92dad1488394e868bc38f718.png](https://i-blog.csdnimg.cn/blog_migrate/0f5b47f424ba9b31b1d8d8ed45adc21a.jpeg)