关于Nacos 远程调用Feign遇见的小bug
启动服务时候报错:
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?
看报错就是由于SpringCloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错;
然后我们还得排除ribbon依赖,不然loadbalancer无效:
报错信息:
org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose (Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;) Lorg/springframework/cloud/client/ServiceInstance;
再依赖添加如下配置就行了:
<!--服务注册--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <!--不使用Ribbon 进行客户端负载均衡--> <exclusions> <exclusion> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </exclusion> </exclusions> </dependency> <!--使用Spring Cloud LoadBalancer 进行客户端负载均衡--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-loadbalancer</artifactId> </dependency>
后面就调用成功啦;
下一篇:
python安装PIP失败问题交流