在学习seata的时候,很突然的就遇到这个问题。在seata官网解释说是事务分组和集群对应的关系,需要在client端配置。
我使用nacos来做配置中心
在红框标注的内容里,第三行的无序列表就说明了会用service.vgroupMapping.事务分组名
去配置中心找TC的集群名称。
所以只需要在nacos的配置中心中加上Data-Id
为service.vgroupMapping.事务分组名
,值设置为default
有一个深坑,别看文档上写在applicaiton.properties
上配置了service.vgroupMapping
,其实是无效的。只有config.type=file才有效
贴上上面的application.properties内容
seata.tx-service-group=my_test_tx_group ---------------> 事务分组配置(在v1.5之后默认值为default_tx_group)
seata.service.vgroup-mapping.my_test_tx_group=default ---------------> 指定事务分组至集群映射关系(等号右侧的集群名需要与Seata-server注册到Nacos的cluster保持一致)
seata.registry.type=nacos ---------------> 使用nacos作为注册中心
seata.registry.nacos.server-addr=nacos注册中心IP:端口
seata.registry.nacos.application=seata-server ---------------> Seata服务名(应与seata-server实际注册的服务名一致)
seata.registry.nacos.group=SEATA_GROUP ---------------> Seata分组名(应与seata-server实际注册的分组名一致)