• Load balancer does not have available server for client:xxx


    今天在搭建一个springcloud项目在搭建以zuul为网关的时候,项目抛了一个异常,

    com.netflix.zuul.exception.ZuulException: Forwarding error

    xxxxx

    这里就略过,这里的forwarding error 表示网关转发失败,后面紧接着报了一个这个错

    Caused by: com.netflix.client.ClientException: null

    xxx 

    UnknownHostException: xxx服务名

    然后在网上搜了一下,于是解决了这个问题

      看异常名其实可以看出来,未知的主机,故而分析得出来Zuul转发不到所要转发的服务,于是看了一下springcloud的eureka配置,发现有一个配置

      如下: 这个配置的作用是 在eureka上暴露这个注册的服务内网IP,于是在eureka注册中心加上这一句(注:如果是高可用集群,所要集群的服务都要加上这个)

    eureka:
      client:
    
    instance:
      #register ip to eureka
      prefer-ip-address: true

    至此,完美解决这个问题;


    但是 紧接着又有了新的问题:
    com.netflix.client.ClientException: Load balancer does not have available server for client ...
    这里就把重要的异常贴进来哈
    报错的大致意思是
    没有可用的负载均衡的客户端服务
    于是 又开始google,
    发现加上
    <dependency>  
        <groupId>org.springframework.cloud</groupId>  
        <artifactId>spring-cloud-starter-eureka</artifactId>  
    </dependency>  
    这个依赖 可以完美解决这个问题
    至于为什么,大概是这个包里面有默认配置LoadBanlance的
    可以看看 org.springframework.cloud.client.loadbalancer包下面的源码


  • 相关阅读:
    记录CTF一些奇技滛巧
    FISCO BCOS 多服务器分布式部署
    网络1911、1912 D&S第3次作业--批改总结
    DVWA渗透笔记
    Python——flask漏洞探究
    Java团队课程设计——基于学院的搜索引擎
    Java课程设计之——Web前端
    Java课程设计之——爬虫篇
    elasticsearch 7.5.0 学习笔记
    SpringCloud系列(一):Eureka 服务注册与服务发现
  • 原文地址:https://www.cnblogs.com/ChoviWu/p/10083136.html
Copyright © 2020-2023  润新知