springcloud使用ribbon报No instances available for SPRINGCLOUD-PROVIDER....

报错信息与配置:

报错信息:

 yml文件:

 pom.xml配置

原因一:

 有些人报错的原因是开始做单体Eureka的时候并没有开启注册于发现功能,导致在进行集群配置的时候无法找到

fetch-registry: 检索服务选项,当设置为True(默认值)时,会进行服务检索,注册中心不负责检索服务。

register-with-eureka: 服务注册中心也会将自己作为客户端来尝试注册自己,为true(默认)时自动生效

eureka.client.serviceUrl.defaultZone是一个默认的注册中心地址。配置该选项后,可以在服务中心进行注册。

所以一般情况下,当我们设置服务为注册中心时,需要关闭eureka.client.fetch-registry与eureka.client.register-with-eureka,在做注册中心集群的时候,register-with-eureka必须打开,因为需要进行相互注册,不然副本无法可用。

原因二: 

首先我们查看一下依赖树:

 

发现里面有很多重复的依赖。因为spring-cloud-starter-netflix-eureka-client集成了ribbon,有兴趣的人可以使用mvn dependency:tree分析一下 jar包引用关系,若需要单独使用ribbon可以排除掉Eureka的引用,所以我们在pom文件中导入的

   <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
          <version>2.2.9.RELEASE</version>
      </dependency>

 依赖包反而鸡肋了,这也是我这里报错的原因

解决办法很简单:因为Eureka已经继承了ribbon,将我们自己添加的jar包去掉就行了,运行成功!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值