news 2026/9/3 2:23:24

解决Feign只配置name或者value,报java.net.UnknownHostException

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决Feign只配置name或者value,报java.net.UnknownHostException

解决Feign只配置name或者value,报java.net.UnknownHostException


问题背景:

  • 服务A与服务B在同一个阿里云mse(nacos)下注册,部署在k8s容器上
  • 服务A通过Feign把服务B的名称配置到name或者value
  • nacos后台可以看到两个服务都已经注册
    但是一直报java.net.UnknownHostException

问题排查:

  • 先检查pom依赖
    在Spring Cloud 2020.0.0 (Ilford) 版本之后,Netflix Ribbon被移除了,默认使用Spring Cloud LoadBalancer。
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>
  • 检查配置注解
    @EnableFeignClients: feign客户端是否开启
    @EnableDiscoveryClient: 服务注册与服务发现是否开启

  • 检查nacos配置
    检查两个服务是否在同一个nacos的同一个namespace的同一个group下;
    检查最终启动程序的nacos配置是否正确: (文件/自动发布脚本/配置中心等);
    最终在nacos后台可以看到两个服务都在服务列表

  • 确认负载均衡是否配置
    Feign 没有负载均衡器,直接使用 HTTP 客户端调用,但服务名不是有效的域名。导致UnknownHostException


问题定位

  • 最终定位是负载均衡未配置
  • 配置方式如下面两种

1.通过配置文件

spring:cloud:loadbalancer:enabled:true

2.通过自定义配置类(我选择的此种方式)

importfeign.Client;importfeign.Logger;importfeign.slf4j.Slf4jLogger;importorg.springframework.cloud.client.loadbalancer.LoadBalancerClient;importorg.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory;importorg.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalancerClient;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassFeignConfig{@BeanpublicClientfeignClient(LoadBalancerClientblockingLoadBalancerClient,LoadBalancerClientFactoryloadBalancerClientFactory){returnnewFeignBlockingLoadBalancerClient(newClient.Default(null,null),blockingLoadBalancerClient,loadBalancerClientFactory);}@BeanLogger.LevelfeignLoggerLevel(){returnLogger.Level.FULL;}@BeanpublicLoggerlogger(){returnnewSlf4jLogger();}}

最终问题得以解决

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 2:14:16

二阶RC电池模型参数在线辨识:基于BMS电池管理系统的实践

二阶RC电池模型参数在线辨识&#xff08;BMS电池管理系统&#xff09; 使用遗忘因子最小二乘法 FFRLS 对电池模型进行参数辨识&#xff0c;并利用辨识的参数进行端电压的实时验证&#xff0c;基于动态工况&#xff0c;电压误差不超过20mv&#xff0c;也可以用来与离线辨识做对…

作者头像 李华
网站建设 2026/9/2 13:09:11

Comsol模拟液氮水力压裂。 热-流-固-损伤耦合模型。 展示结果为损伤分布和热场分布,可以...

Comsol模拟液氮水力压裂。 热-流-固-损伤耦合模型。 展示结果为损伤分布和热场分布&#xff0c;可以模拟非均匀的热损伤。液氮压裂这玩意儿最近在油气开采领域挺火的。传统水力压裂用水会产生地层污染&#xff0c;改用液氮不仅环保还能利用低温特性搞事情。不过低温引发的热应力…

作者头像 李华
网站建设 2026/9/2 12:40:53

三篇顶刊代码复现手记:当膀胱癌遇上机器学习

3篇文献复现&#xff1a; [1]综合多组学分析和机器学习改善肌浸润性尿路上皮癌的分子亚型和预后 (1区高分文章)PMID:37449047 [2]单细胞转录组中的免疫原性细胞死亡特征结合101 种机器算法 PMID:37275552 [3]APOBEC介导的突变是膀胱癌患者预后和免疫治疗的有利预测因子:来自泛…

作者头像 李华
网站建设 2026/9/2 14:06:33

进程线程携程和正则表达式

进程线程携程进程&#xff1a; cpu分配的资源的最小单位&#xff0c;可以同时并行多个。例如&#xff1a;cpu分配资源&#xff0c;qq&#xff0c;vx&#xff0c;网页等等&#xff0c;一个app就是一个进程&#xff0c;每个进程默认至少有一个线程。&#xff0c;进程的开销资源十…

作者头像 李华
网站建设 2026/9/2 23:15:58

简点到家“数字化+轻资产”双轮驱动,加速发展家政市场

当前&#xff0c;家政服务市场正处于快速发展阶段&#xff0c;众多中小家政企业主在广阔的市场前景下&#xff0c;也普遍面临着“增长不增利”的经营压力。如何有效应对获客成本高企、服务标准化缺失等难题&#xff0c;已成为行业关注的重点。一、获客成本高企挤压利润空间传统…

作者头像 李华