版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:gudepeng.github.io/note/2019/1…
demo样例:github.com/gudepeng/de…
一.客户端
1.引包
1 | 复制代码<dependency> |
2.编写配置类
1 | 复制代码@Configuration |
3.修改启动类
1 | 复制代码@SpringBootApplication(exclude = DataSourceAutoConfiguration.class) |
4.在需要开启分布式事物的方法上添加注解
1 | 复制代码@GlobalTransactional |
二.服务端
1.下载seata-server
[seata-server]{github.com/seata/seata…}
2.修改配置文件(本文以nacos为样例,store记录为mysql)
修改conf下的registry.conf
1 | 复制代码registry { |
修改registry下的type为nacos,配置nacos的serverAddr为你nacos服务的地址,不要带http和端口号。它会默认去连你的8858端口,如需修改端口,请修改nacos-config.sh文件中的端口
拷贝registry.conf到每个使用seata服务的resources下
修改conf下nacos-config.txt
1 | 复制代码store.mode=db |
修改store.mode为db,修改对应db配置文件为你自己的mysql。
修改service.vgroup_mapping.my_test_tx_group=default属性
0.9.0.1版本后:my_test_tx_group修改为自己的服务名(spring.application.name)+”-seata-service-group”
0.9.0.1版本前:my_test_tx_group修改为自己的服务名(spring.application.name)+”-fescar-service-group”
可以spring-cloud-alibaba-seata项目下的GlobalTransactionAutoConfiguration累中看到
有多少个服务需要使用seata就要添加多少个ervice.vgroup_mapping
执行nacos-config.sh )Nacos-Server-IP为你nacos服务的ip地址),在一步骤是把nacos-config.txt中的配置更新到nacos上,如果nacos-config.txt重新修改,就要重新执行该命令。或者登陆到nacos的管理界面直接进行修改。
之后添加,删除,修改服务,在nacos配置上作对应修改即可
3.创建表
在上一步骤中store.db.url的database中执行建表语句(conf下db_store.sql)
在每一个业务库中执行建表语句(conf下db_undo_log.sql)
本文转载自: 掘金