首页 > 其他分享 >Load balancer does not contain an instance for the service service-B [503] during [POST] 问题解决

Load balancer does not contain an instance for the service service-B [503] during [POST] 问题解决

时间:2024-07-18 17:32:42浏览次数:9  
标签:Load 服务 service 配置 balancer test path yml

场景:

service-A服务通过 openFeign 远程调用 service-B服务的test()方法,结果报错
Load balancer does not contain an instance for the service service-B
feign.FeignException$ServiceUnavailable: [503] during [POST] to [http://service-B/test]  

原因:

报错信息的意思是找不到服务 service-B,feign的远程服务没有调通

 

排查方法:

1 看一下loadbalancer的依赖是否加了

从 Spring Cloud 2020.0 开始使用LoadBanlancer作为负载均衡,放弃了ribbon 所以在使用时pom依赖要加上 loadBanlancer的依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
    <version>3.1.6</version>
</dependency>

 

2 看一下服务service-B启动了没有

没启动当然调不到了

 

3 看一下注册中心是否有服务service-B

看一下配置的注册中心是否正确

 

4 A服务调用B服务,两个服务的namespace和group是否一致

namespace和group的作用就是做环境隔离,所以两个服务在不同的namespace和group是调用不通的

 

5 对比一下配置的服务名是否和feign中指定的名称相同

服务名称是否写对了,注意大小写都要对应

看一下 application.yml 中的配置
spring:
    application:
        name: service-B
service-A中指定的远程调用服务名
 @FeignClient("service-B")

 

如果在配置中指定了context-path

application.yml 中的配置

server:
    servlet:
        context-path: /test
service-A中指定的远程调用服务名,需要加path参数
//注意这里的path前面需要带 /
 @FeignClient(value = "test", path = "/test")

 


6 检查一下,如果使用了配置中心,还需要看看配置中心的配置是否正确

bootstrap.yml 中的配置会覆盖 application.yml 存在的配置  

标签:Load,服务,service,配置,balancer,test,path,yml
From: https://www.cnblogs.com/etangyushan/p/18310067

相关文章

  • pytorch 自定义 dataloader 维度不对齐+广播机制导致不易察觉 bug
    很简单,自定义了一个dataloader,出现以下不易察觉buginputs维度:[bs,4],这个没问题labels维度:正确应该是[bs,1],但是dataloader出来是[bs]模型的outputs维度:[bs,1]如果用torch.mean(torch.abs(labels-outputs))计算L1Loss/MAE由于pytorch的广播机制,torch.ab......
  • 运维锅总详解Kubernetes之Service
    本文尝试从Service暴露服务方式、Service控制器实现原理、使用规范等方面对Kubernetes中的Service进行详细介绍。一、Kubernetes中的pod有哪些暴露服务的方式各种Kubernetes中暴露服务的方式都有其独特的优缺点,根据具体的使用场景和需求,选择合适的方式非常重要。下面是......
  • 无源晶振的负载电容Load Capacitance与频偏Frequency Deviation
    在无源晶振(石英晶体谐振器)电路应用中,我们期望获得稳定且精准的时钟信号,这取决于晶振的实际输出频率需要靠近中心频率。一般情况下,时钟信号的精准度及稳定度则主要由无源晶振本身精度及合适的外接电容所决定。在做电路设计的时候,很多工程师不知道无源晶振的负载电容如何计算。......
  • Flash简介及其中的Bootloader如何实现对APP程序的下载更新或重装
    目录1.eMMC、NandFlash都属于Flash,Flash的具体类别如下2.Bootloader在APP程序下载更新或重装中存在的意义3.Bootloader下载更新或重装APP程序的思路框架4.Bootloader下载更新或重装APP程序代码实现1.eMMC、NandFlash都属于Flash,Flash的具体类别如下       ......
  • 从零手写实现 nginx-31-load balance 负载均衡介绍
    前言大家好,我是老马。很高兴遇到你。我们为java开发者实现了java版本的nginxhttps://github.com/houbb/nginx4j如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零......
  • Goby漏洞发布 | CVE-2024-4879 ServiceNowUI /login.do Jelly模板注入漏洞【已复现】
    漏洞名称:ServiceNowUI/login.doJelly模板注入漏洞(CVE-2024-4879)EnglishName:ServiceNowUI/login.doInputValidationVulnerability(CVE-2024-4879)CVSScore:9.3漏洞描述:ServiceNow是一个业务转型平台。通过平台上的各个模块,ServiceNow可用于从人力资源和员工管理到自动......
  • post测webservice
    webservice地址 asmx, 直接打开浏览器,里写的很清楚了。    postman设置 设置soapaction直接复制示例code 结果 ......
  • Fastjson的payload收集
    What无第三方依赖收集了网络上的多种payload,方便进行fuzz测试提供了自动替换payload的功能,一次性为所有payload插入rmi地址/dnslogHelp--list:以清单的形式打印,方便作为字典进行fuzz--address:服务器地址(无需rmi://前缀),如11.22.33.44/exp、eval.com/rce--dns:dnslog的地址,不同......
  • C. Load Balancing
    原题链接题解找出大于对应平均数的部分。。。code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constllN=114514;lla[100006];voidsolve(){lln;cin>>n;llsum=0;for(inti=1;i<=n;i++){cin>>a[i];......
  • nginx ./nginx -s reload 工作进程pid与实际不一致导致平滑重启报错
    某次修改nginx配置后使用./nginx-sreload重启nginx,结果报错,如图所示,去kill工作进程的时候显示找不到该进程原因是位于nginx/logs下的nginx.pid中的pid和实际不一致造成的nginx.pid文件是Nginxweb服务器在启动时创建的一个进程标识符(PID)文件。这个文件包含......