启动服务时候报错:
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>
后面就调用成功啦;