1. 场景:
Dubbo 3.x版本, 注册中心是Nacos
开始是使用Nacos做元数据中心,因为Nacos 配置列表 数据行过多,优化过后不再使用Nacos作为元数据中心:
dubbo.registry.use-as-metadata-center=false
只注册应用级(instance)出现消费者调用异常 :
[DUBBO] No provider available after route for the service xx
2. 原因
不使用元数据中心的话,消费者拉取不到provider接口元数据
(Dubbo 2.7之前没有元数据中心概念,注册数据和元数据耦合到注册中心,消费者可以直接拉取到数据,有元数据中心之后要单独处理)
3. 解决方案
配置元数据中心 或者 接口级+应用级均注册
dubbo.application.register-mode=all