最全解决:微服务之间调用出现Load balancer does not have available server for client

这篇具有很好参考价值的文章主要介绍了最全解决:微服务之间调用出现Load balancer does not have available server for client。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

背景:现在是一个服务A要调用服务B(media-api)中的方法上传文件,因此需要再服务A中写一个feignclient,里面包含的是要调用的B服务的方法,然后出现找不到目标的情况

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

问题分析:

首先要确保服务和要被调用的服务都已经注册上,这里我用的是nacos。可以看到都是正常注册上来了的。

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

然后检查自己有没有写错对应的服务名称,看看对应的调用请求是否有错。

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

然后点击在第一个出问题的地方点进去,在该方法上打个断点看看打下来的请求有没有问题,

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

在这发现uri请求应该是没有问题的,看到这的/media后面才发现是我网关没有启动 

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

正常就应该打到网关,然后网关进行负载均衡的转到media-api服务 

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

而media-api服务下的配置就是

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

问题解决:

方案一:将服务注册上

可以试试看用eureka进行注册。nacos和erueka都是进行注册的,选择一种方案注册服务即可。

先pom配置

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

然后application上或者nacos上进行配置

ribbon:
  eureka:
​    enabled: true

方案二:取消eurka

如果你用nacos注册上,但还是报错。可以试试将eureka取消 ribbon.eureka.enabled=false;

最全解决:微服务之间调用出现Load balancer does not have available server for client,杂谈,微服务,架构,云原生,java

ribbon:
  ConnectTimeout: 60000 #连接超时时间
  ReadTimeout: 60000 #读超时时间
  MaxAutoRetries: 0 #重试次数
  MaxAutoRetriesNextServer: 1 #切换实例的重试次数
  eureka:
​    enabled: false

或者配置这个,这个就是禁用eureka然后将请求打到下面的服务提供者下,但这种写法比较固定。

大部分情况不是我们想要的

ribbon:
  eureka:
    enabled: false
## 这个IFeignService是加了@FeignClient注解的类
MediaServiceClient:
  ribbon:
    ## 服务提供者的地址,不是服务注册中心的地址
    listOfServers: http://localhost:60350

或者这个

eureka:
  client:
    register-with-eureka: false #此EurekaServer不再注册到其他注册中心
    fetch-registry: false #不再从其他注册中心拉取服务信息

方案三:检查拼写

看看自己的要调用的服务名字有没有写错,和注册上nacos的名字是否一致。

然后检查自己的请求是否有错误,请求有错也是没有办法找到该服务的。看看自己的nginx,网关等有没有打开文章来源地址https://www.toymoban.com/news/detail-718958.html

到了这里,关于最全解决:微服务之间调用出现Load balancer does not have available server for client的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [ 云计算 Azure ] Chapter 07 | Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer

    本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。 本系列文章列表如下: 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx 【Azure】微软 Azure 基础解析(四)Azure核心体系结构组件之数据中心、区域与区域

    2024年02月06日
    浏览(74)
  • 【Azure】微软 Azure 基础解析(七)Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer

    本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。 本系列文章列表如下: 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx 【Azure】微软 Azure 基础解析(四)Azure核心体系结构组件之数据中心、区域与区域

    2024年02月07日
    浏览(112)
  • MetalLB Load Balancer

    MetalLB hooks into your Kubernetes cluster, and provides a network load-balancer implementation. In short, it allows you to create Kubernetes services of type  LoadBalancer  in clusters that don’t run on a cloud provider, and thus cannot simply hook into paid products to provide load balancers. There are multiple ways to install MetalLB, for example Thro

    2024年02月04日
    浏览(39)
  • nginx实现负载均衡load balance

    准备:3台服务器,一台做负载均衡器,另外两台做web服务器,建议编译安装nginx 服务器 IP LB 192.168.232.161 web1 192.168.232.162 web2 192.168.232.163 1、修改LB的配置文件 用于cpu的核心是两个,所以可以修改配置文件中的进程数为2,并将应该worker的并发数修改为2048 2、负载均衡器的配置

    2024年02月09日
    浏览(36)
  • Terraform: Deploy Azure Load Balancer

    Deploy a Public Load Balancer In this section, we will deploy a Public Load Balancer with Backend Pool consisting of two Azure Virtual Machines. These VMs will host a simple web page configured by using a custom script extension for Nginx web service. We will perform complete deployment using Terraform. Public Load Balancer Lab Setup This is how our architec

    2024年04月09日
    浏览(35)
  • 详解 AWS Elastic Load Balancing:深入理解配置与优化

    其中最常见的就是ALB (应用)和 NLB(网络) 由于ALB能够在应用访问层 第七层 也就是 HTTP/HTTPS 进行智能均衡负载 NLB在 第四层 TCP/IP 层 进行负载均衡,更关注于传输速度和延迟。 其中配置方向主要有两种 一种是面向内网 ,一种是面向公网 并且需要配置监听器(监听器是负

    2024年02月04日
    浏览(48)
  • 【云原生】安装AWS ALB Load Balancer Controller2.5

    github说明 一、绑定IAM策略 1、下载IAM策略Json文件 cluster is in a China region: 2、创建策略 3、创建 IAM 角色和 Kubernetes ServiceAccount,与策略关联

    2024年02月13日
    浏览(46)
  • 【云原生】安装AWS NLB Load Balancer Controller1.8

    AWS 的ALB不支持规则重写,所以需要使用nginx ingress绑定AWS的NLB来实现 NLB的优势: 所有命名空间可以共用一个NLB 1、安装 参考官网地址:https://kubernetes.github.io/ingress-nginx/deploy/#aws 2、注释说明 1)入口卸载SSL,用于HTTPS转服务内部的HTTPS,例如Pod是一个tomcat,使用的是https协议,

    2024年02月13日
    浏览(48)
  • 【Java项目】SpringCloud项目注册到Nacos中心时显示的是内网IP导致不同服务器之间无法互相调用接口的解决并发

    微服务项目地址—动动你发财的小手点一个stars吧 出现这个问题是之前我也就遇到过的,这个问题的情况就是: 我们知道微服务项目是可以把不同的项目部署在不同的服务器上从而减少某一台服务器的压力,我们只需要为每一个服务配置一个注册中心即可,然后一个服务需要

    2024年02月16日
    浏览(50)
  • Mantle: A Programmable Metadata Load Balancer for the Ceph File System——论文泛读

    SC 2015 Paper 元数据论文阅读汇总 优化Ceph的元数据局部性和负载平衡。 提高元数据服务性能的最常见技术是在专用的元数据服务器(MDS)节点之间平衡负载 [16, 25, 26, 21, 28]。常见的方法是鼓励独立增长并减少通信,使用诸如懒惰客户端和MDS同步 [16, 18, 29, 9, 30]、inode路径/权限

    2024年01月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包