版本
- spring boot: 2.0.1.RELEASE
- spring cloud: Finchley.M9
错误
通过 zuul 调用 eureka 注册的服务, 错误内容如下
Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client xxxxx
方案
经过查询排查, 两种解决方案
方案一 (亲测有效)
在 application.properties 中添加
ribbon.eureka.enable: true
方案二
添加依赖 (有待测试)
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-eureka</artifactId>
- </dependency>
方案因为版本问题, 没有测试, 仅供参考
方案三 (留作使用)
解决方法: serviceprovider 这个 application.name 可能是太长了, 改短一些就行了, 我直接改成了 sp(长的字符串可以使用中划线 - 分割), 经测试可以正常调用, springcloud 关于这些错误的提示内容实在太少了, 翻阅英文资料也没找到, 在此谢谢 Spring Cloud 中国社区2:530321604 里大佬们的帮助
来源: http://www.bubuko.com/infodetail-3035404.html