在学习 nacos 的时候,有一个服务一直报错,搜了一下解决办法:
- 检查 nacos 能不能找到该服务 - 可以
- 检查该服务的 namespace 和 group - 都是一样的
- 检查服务的 id 是不是一致 - 一致(并没有如 bootstrap.yml 的额外配置文件)
最后发现是在 nacos 上被我手动下线了
心路历程
由于一直没有找到答案,开始担心是不是 feign 配置错误,或者有重复命名的问题,反正走了几个小时弯路
后来回到 nacos 打断点跟踪代码,发现该服务的 hosts 总返回空
再去用 api 访问了 instance(Open API 指南),发现只有该服务的返回有问题
才注意到 valid 一项返回的是 false,忽然知道原因,是被自己下线了
因为之前想要手动删除非临时实例,但是报错,我以为是要点击下线,后来通过 api 删除实例之后,再次上线,却没有自动改回来