解决No instances available for XXX

导读:本篇文章讲解 解决No instances available for XXX,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

场景spring cloud 使用Eureka当注册中心

项目结构如下

解决No instances available for XXX

 

在搭建集群完成后发现 eureka 客户端的服务名称不对 发现服务名称不对后我的第一直觉让我觉得是我的spring.application没有配置好 但发现spring.application是正确的 然后我就使用instance.appname修改了实例的服务名称 在准备使用RestTemplate负载均衡测试的时候发现 控制台发生了报错

No instances available for XXX

错误说是没有找到实例 但是 eureka客户端显示已经注册上了

通过查找资料发现造成这个错误的原因有: 1.jar导入错误 2.实例名称错误 3.yml编写错误

根据我的排除发现jar包和yml都没有出现错误 然后我就怀疑是不是注册ip出现错误导致访问不到,

我就通过discoveryClient获取到了所有的服务名称 但是根据名称还是查找不到实例 第二种实例名

称错误也就排除了 后来我就在想这个实例的服务的注册名称是根据spring.application.name 决定的

根据最开始没有设置instance.appname的名称我发现注册实例的名称都是cloud-api-com也就是我

的公共api包 所以我排查发现cloud-api-com中的application.yml配置了spring.application.name 也

就导致了 所有安装这个包的项目都使用了cloud-api-com注册 删除其中的名称再次启动 问题解决

可能会引起错误的情况有以下四种 1.jar导入错误 2.实例名称错误 3.yml编写错误 4.导入的通用项目类已经设置了spring.application.name

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99646.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!