seata配合nacos初体验

seata配合nacos初体验

简介

seata是阿里提供的分布式事务的解决方案,nacos是阿里提供的分布式注册中心,分布式配置中心解决方案。本文旨在介绍seata如何使用nacos作为配置中心。(AT模式)
nacos官网nacos.io, seata官网seata.io, nacos的快速开始可以上官网看,几分钟就好了。

seata快速开始

seata整体是cs架构,第一步下载的软件就是s端,我们自己建项目然后pom里整合c端和s端进行通信。

第一步:seata下载:seata
我选择的是1.2.0版本binary, 你也可以不下载,我附件资料里有

第二步:配置seata的数据库
account,order,storage表都有undo_log表,这是用来处理分布式事务回滚的,存的是逆向sql。
seata有三张表全局事务表,分支事务表,全局锁表
这些sql我后面会附一个链接
在这里插入图片描述
第三步:修改seata server端启动所需的配置文件
seata binary下载好如下图:
在这里插入图片描述
进入conf把registry.conf修改成如下(file.conf不需要修改,因为本文seata的启动所需要的配置全从nacos拉取)

registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "nacos"

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

config {
  # file、nacos 、apollo、zk、consul、etcd3
  type = "nacos"

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

第四步:把seata启动所需配置上传到nacos配置中心
精简后的配置config.txt如下(数据库地址用户名密码需要修改成自己的)

service.vgroupMapping.my_test_tx_group=default
service.default.grouplist=127.0.0.1:8091
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://192.168.238.100:3306/seata?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
store.db.user=root
store.db.password=root
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.lockTable=lock_table
store.db.queryLimit=100
store.db.maxWait=5000

conf文件夹下有一个nacos-config.sh, 右键git bash here ,运行sh nacos-config.sh就可以把上面配置导入到nacos中(默认ip为localhost:8848), nacos控制台地址:http://127.0.0.1:8848/nacos/index.html

注:sh nacos-config.sh -h 192.168.133.222 -p 8848 -g SEATA_GROUP -t 64dab1d0-8416-4a8d-a92c-927afb212a7e

第五步:启动seata server端
bin 目录下双击seata-server.bat
或者进入bin 执行 .\seata-server.bat -p 8091 -h 127.0.0.1 -m db
报错了的话就去bat文件修改相应报错地方

第六步:启动分布式项目
解压seata源码.rar,idea导入该项目,等它自己编译好,去修改account,order,storage三个分布式模块的mysql数据源再分别启动三个项目,浏览器访问http://localhost:4001/order/create

资料

seata资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值