初学Feign,在发起远程调用时报错:Load balancer does not have available server for client:xxx
问题翻译过来就是:负载平衡器没有可用于客户端的服务器
报错原因:Feign已经集成了Ribbon自动实现了负载均衡,当Feign在服务列表做负载均衡时没有发现可用的服务就会报这个错误。
解决办法:去注册中心看看是否有这个服务存在,我就是因为服务提供者与消费者不在同一个命名空间导致这个问题。。
或者就是检查一下Feign客户端的服务名称或者路径有没写错。
Feign的使用步骤为:
- 引入Feign依赖
<!-- Feign客户端依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
- 启动类添加@EnableFeignClients注解
- 编写Feign接口