window springcloud 整合 seata nacos (1.3)

  1. 下载seata资源 设置server端

  1. 查找springcloud和seata的对应版本

查看对应的版本关系的网址:版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub

  1. 下载seata 以及对应的资源

seata下载地址: Releases · seata/seata · GitHub

seata 官网文档: Seata 是什么

对应资源下载地址(选择对应的资源路径进行下载): Releases · seata/seata (github.com)

  1. 配置seata需要的数据库

  1. seata 存储模式分为三种

· file: (默认) 单击模式, 全局事务会话信息在内存中读写并持久化本地文件 root.data,性能较高(默认)

· db: (mysql版本需要在 5.7+) 高可用模式, 全局事务会话信息通过db共享,相应性能差些。

在下载好的资源中有seata需要的数据库的sql语句 地址如下: script\server\db

这里使用mysql 在数据库中运行mysql.sql导入seata需要的数据库

修改seata中的配置文件 : seata\conf\file.conf

修改内容如下:

· db存储模式 + Naocs (注册&配置中心)部署

  1. 配置Nacos注册中心 负责事务参与者(微服务) 和TC通信

修改对应的配置文件 seata\conf\registry.conf

注意:如果配置了seata server使用nacos作为配置中心,则配置信息会从nacos读取,file.conf可以不用配置。 客户端配置registry.conf

使用nacos时也要注意group要和seata server中的group一致,默认group是"DEFAULT_GROUP"

将配置中心所需要用到的配置注册到nacos中

修改下方的配置文件 配置文件的路径如下: script\config-center\config.txt

配置事务分组, 要与客户端配置的事务分组一致

#my_test_tx_group需要与客户端保持一致 default需要跟客户端和registry.conf中registry中的cluster保持一致

(客户端properties配置:spring.cloud.alibaba.seata.tx‐service‐group=my_test_tx_group)

事务分组: 异地机房停电容错机制

my_test_tx_group 可以自定义 比如:(guangzhou、shanghai...) , 对应的client也要去设置

seata.service.vgroup‐mapping.projectA=guangzhou

default 必须要等于 registry.confi cluster = "default"

将修改好的配置文件注册到nacos中 通过git命令来使用 脚本位置: script\config-center\nacos

在这个路径下右键选择git bash Here

在弹出的命令框中执行一下命令:sh nacos-config.sh -h xxx.xxx.xxx.xxx -p 8848

参数说明

-h: host,默认值 localhost

-p: port,默认值 8848

-g: 配置分组,默认值为 'SEATA_GROUP'

-t: 租户信息,对应 Nacos 的命名空间ID字段, 默认值为空 ''

  1. 启动seata

seata的启动方式 在对应路径下双击一下内容

双击 seata-server.bat 启动seata 默认端口号 8091

  1. 配置seata client

2.1 在涉及到事务的数据库中运行一下sql语句

CREATE 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, PRIMARY KEY (`id`), UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2.2 在涉及到事务的服务中添加一下配置

spring:

cloud:

alibaba:

seata:

tx-service-group: default_tx_group # 配置事务分组

# seata 相关配置

seata:

registry:

# 配置seata的注册中心, 告诉seata client 怎么去访问 seata server

type: nacos

nacos:

server-addr: 124.223.48.35:8848 #nacos地址

application: seata-server # seata注册名称

username: nacos # nacos 用户名

password: nacos # nacos 密码

group: SEATA_GROUP # naocs 分组名称

config:

type: nacos

nacos:

server-addr: 124.223.48.35:8848

username: nacos

password: nacos

application: seata-server # seata注册名称

group: SEATA_GROUP # naocs 分组名称

2.3 在要使用的方法上添加 @GlobalTransactional 注解

大功告成!!!! 完结撒花

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值