Load balancer does not contain an instance for the service xxx-service

问题描述:

在使用Nacos+SpringBoot+OpenFeign搭建项目时,Nacos作为注册中心、配置中心,应用成功注册到Nacos,但是服务消费者通过OpenFeign调用服务时,报错:Load balancer does not contain an instance for the service xxx-service。解决方案如下:

1、排查微服务应用的名字

  • 排查application.name大小写是否一致问题(nacos比较区分大小写,最好统一都用小写)
  • “_”下划线改为短线“-”,eg:cloud_payment 改为cloud-payment (不然可能会报错java.lang.IllegalStateException: Service id not legal hostname)
#参考:
spring:
  application:
    name: cloud-payment #微服务应用的名字

2、排查注解@FeignClient注解

排查注解@FeignClient注解value的值配置,是否和nacos中展示的服务名一致(大小写也要一致)

@FeignClient(value = "cloud-payment",fallback = PaymentFallbackService.class)

在这里插入图片描述

3、排查SpringBoot、SpringCloud、Spring Cloud Alibaba、以及Nacos版本

排查SpringBoot、SpringCloud、Spring Cloud Alibaba、以及Nacos版本是否配套使用,我们知道往往环境问题多是版本搞得怪。

可参看SpringBoot、SpringCloud、Spring Cloud Alibaba版本对照表(详细准确)处理。

4、微服务在共同的命名空间和分组中

5、修改配置

如果开启了熔断器,可检查版本:

springcloud2020以前的版本,配置如下:

feign:
  hystrix:
    enable: true

或者

feign.hystrix.enabled=true

springcloud2020以后的版本,配置如下:

feign:
  circuitbreaker:
    enabled: true

或者

feign.circuitbreaker.enabled=true

修改配置后重启服务。

好了,到这里了,希望能解决你的问题。如果没有解决,可以先单独调用服务提供者确认自身没问题,能成功注入到注册中心,再去怀疑调用者哈,再去怀疑调用过程。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只IT攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值