前言

SpringBoot:2.4.2

SpringCloud:2020.0.4

SpringCloudAlibaba、Nacos:2021.1

SpringCloudLoadbalancer:3.1.3

SpringCloudOpenFeign:3.0.4

说明 

使用nacos做配置中心,配置了服务提供者(sundial-user-provider,以下简称user),和服务消费者(sundial-security-provider,以下简称security),在测试security登录接口调用user接口时,出现了以下错误,意思是负载均衡器找不到服务实例,没找到服务

Caused by: feign.FeignException$ServiceUnavailable: [503] during [GET] to [http://sundial-user-provider/user/getByLoginName/%E6%98%8E] [IUserFacede#getByLoginName(String)]: [Load balancer does not contain an instance for the service sundial-user-provider]

1、我排查了Naocs中的spring.application.name的值配置

2、排查了@FeignClient注解value的值配置

@FeignClient(value = "sundial-user-provider",path = "/user")

发现只是 sundial-user-provider 的大小写不一样。而我在使用Eureka的时候,大小写不一致并不会妨碍服务间的调用,因此就没管,直到实在排不出来是哪里有问题的时候才持着怀疑的态度将naocs中spring.application.name的值改为了小写,重启了user服务后再次调用,发现调用成功

注意:security服务和user服务需要建立在共同的命名空间和分组中

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐