当前位置:   article > 正文

nacos环境下seata配置_nacos seata

nacos seata

seata是笔者遇到技术栈中配置相对麻烦的其中一个,按官方案例不一定成功,所以这里记录一下:

本文选择seata 1.3.0版本,项目添加依赖也是这个版本。Release v1.3.0 · seata/seata · GitHub

配置seata服务端: 下载seata-server和source code。 解压ource code,找到script文件里config-center文件,修改config.txt:

  1. ...
  2. service.vgroup-mapping.my_test_tx_group=default
  3. ...
  4. store.mode=db
  5. store.db.datasource=druid
  6. store.db.dbType=mysql
  7. store.db.driverClassName=com.mysql.cj.jdbc.Driver
  8. store.db.url=jdbc:mysql://127.0.0.1:3306/seata_server?useUnicode=true&serverTimezone=UTC
  9. store.db.user=root
  10. store.db.password=123456
  11. ...

注意把vgroupMapping改成vgroup-mapping这是seata版本的问题。 新建nacos命名空间seata 运行写入配置中心:

sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t seata_namespace_id -u nacos -w nacos

打开script->server->db将里面mysql.sql写入seata_server数据库

将seata-server解压找到conf,按照官网配置file.conf和registry.conf,模式db,类型nacos, 命名空间同为seata_namespace_id。

启动seata-server服务。

然后配置seata-client服务,首先说明按照官网配置,不像其他技术栈那么简单明了,笔者尝试多种方法有不少坑要踩,另外还结合了官方给出的案例:GitHub - seata/seata-samples: seata-samples

找到里面的springcloud-nacos-seata文件,我们可以拿它的stock和order模块测试,在需要用到seata服务的不同库里我们都需要引入undo_log这个表,建表语句在官网和给出案例的readme.md里都能容易找到。 遗憾是按照其案例配置依然会报错,这大概和最新依赖配置不能匹配,所以按照idea工具的配置方式,配置了spring web/nacos/seata依赖。启动会报错,这是因为spring-cloud-starter-alibaba-seata这个包seata版本不是1.3.0或是缺少了seata-all这个包的依赖,最终引入依赖为:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.alibaba.cloud</groupId>
  8. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  9. </dependency>
  10. <dependency>
  11. <groupId>com.alibaba.cloud</groupId>
  12. <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
  13. <exclusions>
  14. <exclusion>
  15. <artifactId>seata-all</artifactId>
  16. <groupId>io.seata</groupId>
  17. </exclusion>
  18. </exclusions>
  19. </depende
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号