seata的mysql脚本
修改Seata 配置中心&注册中心修改Seata的配置
# 修改Seata配置cd /usr/local/software/seata/confvi registry.conf

文章插图
注:修改成自己的nacos信息
registry {# file 、nacos 、eureka、redis、zk、consul、etcd3、sofatype = "nacos"loadBalance = "RandomLoadBalance"loadBalanceVirtualNodes = 10nacos {application = "seata-server"serverAddr = "47.116.143.16:8848"group = "SEATA_GROUP"namespace = ""cluster = "default"username = "nacos"password = "nacos"}}config {# file、nacos 、apollo、zk、consul、etcd3type = "nacos"nacos {serverAddr = "47.116.143.16:8848"namespace = ""group = "SEATA_GROUP"username = "nacos"password = "nacos"}}因为Seata的配置中心是nacos,需要把Seata的配置 , 通过脚本推送到nacos中
官网地址:https://seata.io/zh-cn/docs/user/configuration/nacos.html

文章插图
脚本地址:https://github.com/seata/seata/blob/develop/script/config-center/nacos/nacos-config.sh
config.txt地址(可以暂时不修改配置参数,直接到nacos中修改配置):https://github.com/seata/seata/blob/develop/script/config-center/config.txt

文章插图
将Seata配置参数推送到nacos配置中心
# 1、将github中的nacos-config.sh,传到服务器上,目录为:/usr/local/software/seata/conf# 我这边使用的是,将脚本文件拷出,在服务创建文件夹,赋予权限touch nacos-config.shchmod +x nacos-config.sh# 2、将config.txt,放到服务器上 , 目录为:/usr/local/software/seata执行脚本
sh nacos-config.sh -h 47.116.143.16 -p 8848 -g SEATA_GROUP -u nacos -w nacos-h:nacos主机地址-p:nacos端口号-g:nacos分组-t:nacos命名空间-u:nacos账号-w:nacos密码

文章插图
推送成功,已将Seata配置参数推送到Nacos配置中心

文章插图
在nacos配置中心里,修改Seata参数,具体修改参考官网如下

文章插图

文章插图
具体config.txt里的参数解释:https://seata.io/zh-cn/docs/user/configurations.html
新建2个配置需要与微服务中的配置对应上
service.vgroupMapping.${spring.alibaba.seata.tx-service-group}=default如下service.vgroupMapping.order_service_group=defaultservice.vgroupMapping.product_service_group=default注意:分组为:SEATA_GROUP

文章插图
启动Seata服务
- ./seata-server.sh启动,默认端口8091(守护进程方式启动 nohup ./seata-server.sh &)
sh seata-server.sh -p 8091 -h 47.116.143.16Seata AT模式日期序列化问题解决方案后端服务引入kryo依赖<dependency><groupId>com.esotericsoftware</groupId><artifactId>kryo</artifactId><version>4.0.2</version></dependency><dependency><groupId>de.javakaffee</groupId><artifactId>kryo-serializers</artifactId><version>0.42</version></dependency>修改Seata在nacos配置中心配置将client.undo.logSerialization=jackson修改为client.undo.logSerialization=kryo

文章插图
微服务整合Seata前期准备在每个微服务所连的库 , 新建一张表
-- 注意此处0.3.0+ 增加唯一索引 ux_undo_logCREATE TABLE `undo_log` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`branch_id` bigint(20) NOT NULL,`xid` varchar(100) NOT NULL,`context` varchar(128) NOT NULL,`rollback_info` longblob NOT NULL,`log_status` int(11) NOT NULL,`log_created` datetime NOT NULL,`log_modified` datetime NOT NULL,`ext` varchar(100) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;聚合工程搭建。。。。
项目结构
推荐阅读
- MassTransit | .NET 分布式应用框架
- 之四 2流高手速成记:SpringBoot整合redis及mongodb
- SpringBoot整合ES+Kibana
- 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践
- 微服务系列之分布式日志 ELK
- Dubbo2.7详解
- 四 SpringBoot - 整合Mybatis,逆向工程,JPA
- 撸了一个简易的配置中心,顺带整合到了SpringCloud
- 【Spring boot】整合tomcat底层原理
- 15 基于SqlSugar的开发框架循序渐进介绍-- 整合代码生成工具进行前端界面的生成