Springcloud,Nacos 整合分布式事务 Seata,Seata V1.2 v1.0 v1.1最新版本的下载安装配置的踩过的坑

      前几篇我们整合了springcloud alibaba 的 注册中心 ,配置中心 和 流量卫兵 Sentinel ,这篇我们整合alibaba的分布式事务 Seata,几乎翻遍了各种博客文章, 找了视频,终于能够运行起来,这里也记录一下各种踩坑经历,因为版本问题,时常人感到心累。

     照例我们首先去看 seata 官网,先了解大概原理使用   Seata官网地址 :http://seata.io/zh-cn/index.html

我们点进官网的文档,可以对 Seata 有个大概的认识,

 这个就是 seata 的流程图解 ,TC 管控全局事务 TM 开启全局事务 RM 各个系统上的事务,借用阳哥的一句话,简单的理解为就是 ,一拖三 ,一是全局事务ID ,XID 三就是上图的 TC TM RM, 一个XID下的 TC TM RM。 简单的理解为 Seata 为全局事务做了一个代理,负责统一的提交,回滚操作 (有点浅显)

    接下来我们下载安装 Seata,这里就有 seata的各种坑,版本的坑,Seata 下载地址版本说明的github地址点击即可 ,虽然第二排好看戏,但是这里我们下载的是最新版,当前最新版的 v1.2.0 ,这里不得不说下版本的坑,在1.0版本以前,在 seata 的conf 目录下面有 sql 脚本和 nacos-config.txt 配置和 nacos-config.sh 运行脚本,但是1.0以上版本下载后 conf 里面没有这些东西,需要springcloud alibaba上面去找   

db_store.sql 是seata服务需要的数据库,db_undo_log.sql ,需要在你各个服务对应的数据库下执行,nacos-config.txt 是nacos的配置参数,nacos-config.sh 是运行脚本,windows下运行,可能会找不到文件,config.txt 里面,需要更改参数,主要是mysql的连接信息 ,当然还有一个重要的,就是事务的组名称,这个在各个项目下都有保持一致  “my_test_tx_group”

service.vgroup_mapping.my_test_tx_group=default

store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true
store.db.user=mysql
store.db.password=mysql

windows 下 nacos-config.sh 执行如果找不到 config.txt ,手动更改路径  D:/tools/seata-server-1.2.0/seata/conf/config.txt 

for line in $(cat D:/tools/seata-server-1.2.0/seata/conf/config.txt | sed s/[[:space:]]//g); do
  (( count++ ))
	key=${line%%=*}
    value=${line#*=}
	addConfig "${key}" "${value}"
done

windows 下执行  .sh 的方式是需要先安装git,这个大家肯定都有,在conf 目录下  右键 - Git Bash Here   

命令是下面第一行 ,运行前,需要先运行 nacos ,这里都是本地运行的方式

我们看下nacos

 接下来还有两个需要改的,一个是 registry.conf  一个是 file.conf ,先看下  registry.conf ,主要是配置中心注册中心换成nacos

registry {
  type = "nacos"

  nacos {
    application = "seata-server"
    serverAddr = "localhost:8848"
    namespace = "public"
    cluster = "default"
    username = ""
    password = ""
  }
}

config {

type = "nacos"

  nacos {
    serverAddr = "localhost:8848"
    namespace = "public"
    group = "SEATA_GROUP"
    username = ""
    password = ""
  }

}

file.conf  文件模式,这个我们换成db方式  这里是数据库地址,是上面刚执行第一个脚本的数据库地址

ok,seata 的配置到此就已经完成了,接下来我们启动既可,下一篇我们在项目里面使用分布式事务 seata  

( 官网的信息还是很多的,一些demo在github上都有,需要静下心来去看,去找,包括版本的变化,参数和注解的更换 )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值