springcloud整合seata实现分布式事务(三)

描述:

前面两篇文章已经讲完怎么启动项目了,现在,主要讲项目启动的时候,代码的寻找逻辑,注意,这是重点,官网的描述有些问题,我在采坑后才分享的。

坑一:,seata-server的版本问题

我在下载seata 0.7.0的时候,还有点开里面的file-conf,还有vgroup_mapping的配置,可是,到了1.4.0的时候,已经没有了,

官网的配置地址为:https://github.com/seata/seata-samples/tree/master/springcloud-eureka-feign-mybatis-seata 说明,这个文档对应的数据版本有点老了,

在折腾了一番后,知道了,1.4.0不用配置! , 他对应的group的名字,就是registry.conf,里面的application-name,也就是seata-server注册到注册中心的那个名字,

就是group的名字!

坑二:关于accout-server,order-server,storage-server里面的配置文件对应关系问题

我们主要关注3个文件:file.conf,registry.conf,application.yml

怎么改:

一:application,yml里面的

spring:
    application:
        name: order-server    --order-server这个名字,对应的是 registry.conf里面的application-name=order-server
    cloud:
        alibaba:
            seata:
                tx-service-group: fsp_tx_group    -fsp_tx_group-这个名字,对应的是file.conf里面的vgroupMapping.fsp_tx_group

 

二:file.conf
service {
  #transaction service group mapping
  vgroupMapping.fsp_tx_group = "seata-server"            --seata-server这个名字,对应的是seata 1.4.0这个服务注册到服务注册中心的名字,在seata 1.4.0的registry.conf里面的application-name里面有配置
  #only support when registry.type=file, please don't set multiple addresses
  default.grouplist = "127.0.0.1:8091"
  #degrade, current not support
  enableDegrade = false
  #disable seata
  disableGlobalTransaction = false
}
三:registry.conf
registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "eureka"

  nacos {
    serverAddr = "localhost"
    namespace = ""
    cluster = "default"
  }
  eureka {
    serviceUrl = "http://localhost:8761/eureka"
    application = "order-server"  --对应在application.yml配置的application-name
    weight = "1"
  }

}

三:关于假如从官网下载下来的代码,会有的问题:

一:mysql的版本问题,导致报错,找不到数据库

二:使用的项目版本问题,主要采用2020年相对比较新,且稳定的版本

我在网盘中的项目相关版本为:

springboot :2.2.5

springcloud:Hoxton.SR8

msyql:8.0.19

seata:1.4.0

spring-cloud-alibaba-seata: 2.1.1

上一篇:分布式事务框架 seata-golang 通信模型详解


下一篇:java学习day92--分布式事务四-Seata AT模式-Spring Cloud微服务案例(无事务)