2-2 - 没有可用的 Provider(地址找不到)
2-2 - 没有可用的 Provider(地址找不到)
可能的原因
- Provider 服务没启动,或者注册中心(比如 ZooKeeper,Nacos,Consul)宕机了。
- Dubbo 的服务配置有误差,必须保证服务名,组别 (默认是 Dubbo),version 三者都正确。
- 访问的环境有误:通常我们会有开发环境、测试环境、线上生产环境等多套环境。有时候发布的服务到了测试环境,而访问调用时却走了开发环境。
排查和解决步骤
- 访问注册中心的 Ops 系统,查询对应的服务是否有提供者列表;同时检查调用者应用所在服务器的日志(一般每种注册服务的客户端都会有对应的日志记录),查看是否有地址信息的推送/拉取记录。
- 如无,则表明发布者发布服务失败,检查发布者的应用启动是否成功。
- 如有服务,则检查调用者应用所连接的注册中心,确认跟预期的环境要匹配。
- 如上述都没有问题,检查是否配置了路由过滤的规则等。
这个错误码的 FAQ 页面参考了空冥同学的 《Dubbo 常见错误及解决方法》 。
所引文章通过 CC-BY-4.0 协议赋予了汇编的权利。在此向原作者表示感谢。
最后修改 September 13, 2024: Refactor website structure (#2860) (1a4b998f54b)