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