seata-微服务集成seata

1.引入依赖
首先,我们需要在微服务中引入seata依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
    <exclusions>
        <!--版本较低,1.3.0,因此排除-->
        <exclusion>
            <artifactId>seata-spring-boot-starter</artifactId>
            <groupId>io.seata</groupId>
        </exclusion>
    </exclusions>
</dependency>
<!--seata starter 采用1.4.2版本-->
<dependency>
    <groupId>io.seata</groupId>
    <artifactId>seata-spring-boot-starter</artifactId>
    <version>${seata.version}</version>
</dependency>

 

2.修改配置文件
需要修改application.yml文件,添加一些配置:

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


3.启动storage-service服务
storage-service服务启动成功,在seata-server控制台看到如下信息,表示storage-service服务已成功注册到seata。

16:43:44.948  INFO --- [rverHandlerThread_1_1_500] i.s.c.r.processor.server.RegRmProcessor  : RM register success,message:RegisterRMRequest{resourceIds='jdbc:mysql://tajia-mysql:33064/seata_demo', applicationId='storage-service', transactionServiceGroup='seata-demo'},channel:[id: 0x6743c3c4, L:/192.168.8.118:8091 - R:/192.168.8.118:61509],client version:1.4.2


nacos服务名称组成包括?
namespace + group + serviceName + cluster

seata客户端获取tc的cluster名称方式?
以tx-group-service的值为key到vgroupMapping中查找

posted on 2021-10-09 16:57  Ruthless  阅读(641)  评论(0编辑  收藏  举报