Seata1.4.2服务搭建、微服务集成seata及常见问题

一.seata数据库分支库创建:

http://t.csdn.cn/1OhMf

二.在seata搭建时配置registry.conf

注册配置管理:

registry.conf中设置注册中心(如nacos)的地址,以及配置拉取;

registry {
  # tc服务的注册中心类,这里选择nacos,也可以是eureka、zookeeper等
  type = "nacos"

  nacos {
    # seata tc 服务注册到 nacos的服务名称,可以自定义
    application = "seata-tc-server"
    serverAddr = "127.0.0.1:8848"
    group = "DEFAULT_GROUP"
    namespace = ""
    cluster = "SH"
    username = "nacos"
    password = "nacos"
  }
}

config {
  # 读取tc服务端的配置文件的方式,这里是从nacos配置中心读取,这样如果tc是集群,可以共享配置
  type = "nacos"
  # 配置nacos地址等信息
  nacos {
    serverAddr = "127.0.0.1:8848"
    namespace = ""
    group = "SEATA_GROUP"
    username = "nacos"
    password = "nacos"
    dataId = "seataServer.properties"
  }
}

三.微服务集成Seata(此处为XA模式)

1.添加pom文件:


        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-seata
            
                
                    seata-spring-boot-starter
                    io.seata
                
            
        
        
        
            io.seata
            seata-spring-boot-starter
            ${seata.version}
        

2.修改配置文件

每个微服务需要修改application.yml文件,添加一些配置:

seata:
  registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址
    # 参考tc服务自己的registry.conf中的配置
    type: nacos
    nacos: # tc
      server-addr: 127.0.0.1:8848
      namespace: ""
      group: DEFAULT_GROUP
      application: seata-tc-server # tc服务在nacos中的服务名称
      cluster: SH
  tx-service-group: seata-demo # 事务组,根据这个获取tc服务的cluster名称
  service:
    vgroup-mapping: # 事务组与TC服务cluster的映射关系
      seata-demo: SH
  data-source-proxy-mode: XA

在多个微服务调用的方法前,加入

@GlobalTransactional

Seata1.4.2服务搭建、微服务集成seata及常见问题_第1张图片即可实现事务组的搭建管理

具体参考:【微服务】(十五)—— Seata 的部署和集成_机智兵的博客-CSDN博客_微服务整合seata

存在的问题:

四.分支事务常见问题:

1.can not register RM,err:can not connect to services-server

分支事务注册异常

查看seata数据库中分支是否出现重复创建等问题,

若出现则删除表,

重启服务,服务自动注册;

你可能感兴趣的:(Springcloud,分布式事务,微服务,大数据,架构)