dubbo.consumer.group=order dubbo.consumer.version=1.0.0 ls /dubbo/com.xx.ApiService/providers
消费者一启动就报 No provider available for the service com.xx.ApiService:1.0.0,注册中心里提供者明明在线而且状态健康,只有消费端这边找不到,很像是匹配条件的问题。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,消费端声明了分组或者版本,提供者注册时用的是默认值,注册中心按 service key 精确匹配,两边的 key 不一致就查不到提供者,日志里只报没有可用服务。
「Dubbo 找不到提供者」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
处理上按这个顺序:把消费端配置里的 group 和 version 和提供者那边的值逐项对一遍;确认双方连的是同一个注册中心命名空间,别串环境;改完重启消费者,看注册中心目录里有没有拿到 invokers 列表。
改完只确认一件事:消费者日志里出现 refer 成功的提供者地址,调用不再抛 No provider,接口恢复正常。
