NettyClientChannelManager : no available service ‘null‘ found, please make sure registry config...

seata 版本:1.3.0
在这里插入图片描述

项目中在使用 Seata 作为分布式事务的时候,好像特别容易遇到这个错误~
总结原因,还是对Seata配置参数不熟悉导致的。
首先是看到错误描述,找到抛出错误的地方:在这里插入图片描述
看到 getAvailServerList(transactionServiceGroup); 的入参是:transactionServiceGroup。刚好在配置文件中也有一项配置与之对应:
在这里插入图片描述

于是,上官网查看相关的参数配置,搜索serviceGroup
在这里插入图片描述
在这里插入图片描述
将内容拷贝在这里了:

事务分组说明。

  1. 事务分组是什么?
    事务分组是 Seata 的资源逻辑,类似于服务实例。在file.conf中的
    my_test_tx_group就是一个事务分组。
  1. 通过事务分组如何找到后端集群?
    首先程序中配置了事务分组(GlobalTransactionScanner 构造方法的txServiceGroup参数),程序会通过用户配置的配置中心去寻找
    service.vgroupMapping.事务分组配置项,取得配置项的值就是TC集群的名称。拿到集群名称程序通过一定的前后缀+集群名称去构造服务名,
    各配置中心的服务名实现不同。拿到服务名去相应的注册中心去拉取相应服务名的服务列表,获得后端真实的TC服务列表。
  1. 为什么这么设计,不直接取服务名?
    这里多了一层获取事务分组到映射集群的配置。这样设计后,事务分组可以作为资源的逻辑隔离单位,当发生故障时可以快速failover。

根据第 2 点的说明,就可以知道问题所在了:
在这里插入图片描述
详细参考官网,这里就不做过多解释:
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值