zoukankan      html  css  js  c++  java
  • feign Load balancer does not have available server for client

    记录一个问题,

    搭建Spring cloud 使用 feign 发现一个困扰了我一个小时的问题: feign Load balancer does not have available server for client 

    对于这个错误,网上相关帖子怎么说的都有,我只是记录一下我怎么解决,各位大神不喜勿喷

    首先这个错误 (如果前面步骤,自己检查没问题,那么依次看下一个)

    第一步,检查Eureka 服务列表 服务名字配置的是什么 (网上帖子,有说配置instance.appname/hostname的都是无效的)

    spring:
      application:
        name: xxx
    // 该注解不区分大小写
    @FeignClient(name = "xxx/XXX")

    第二步:检查是否引入 Ribbon(必须)

    <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-ribbon -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                <version>2.2.6.RELEASE</version>
            </dependency>

    原本我引入的是Openfeign,我以为feign底层就是Ribbon就不需要额外引入(而且查看了Maven确实引入了)

     第三步: 如果原本引入Eureka-client 

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
                <version>3.0.0</version>
            </dependency>

    请替换

            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
                <version>1.4.5.RELEASE</version>
            </dependency>

    通过上面几步就可以解决掉这个报错

    另外延伸几点

    第一: 网上有说可以使用

      ribbon:
        listOfServers: http://localhost:8081

    上面这段配置,是给那些没有使用Eureka的项目 手动设置的ribbon请求地址。这样相当于给了一个很明确的地址,所以解决掉最开始说的这个错误是可以的(但是不根本)Eureka维护提供者/消费者列表,消费者可以去获得服务列表,如果是靠这种手动的配置去获取,那相当于失去了Eureka一个功能

    第二: 有人说通过 如下配置,解决最开始的错误信息,首先这个配置自行百度是干嘛的,其次即使不设置这个值,默认就是true

    eureka:
      client:
        register-with-eureka: true
        fetch-registry: true
  • 相关阅读:
    istringstream、ostringstream、stringstream 类介绍 .
    istringstream、ostringstream、stringstream 类介绍 .
    Leading and Trailing(LightOJ
    欧拉函数(重要性质)
    UML——概述
    UML——用例视图
    JUnit——assertThat(acture,matcher)
    JUnit——Failure与Error
    JUnit——Annotation
    JUnit——运行多个测试方法
  • 原文地址:https://www.cnblogs.com/yi1036943655/p/15412878.html
Copyright © 2011-2022 走看看