news 2026/5/7 11:00:33

解决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/5/6 7:30:37

CodeGeeX2企业级部署实战:从环境搭建到性能调优的全链路指南

CodeGeeX2企业级部署实战&#xff1a;从环境搭建到性能调优的全链路指南 【免费下载链接】CodeGeeX2 CodeGeeX2: A More Powerful Multilingual Code Generation Model 项目地址: https://gitcode.com/gh_mirrors/co/CodeGeeX2 CodeGeeX2作为新一代多语言代码生成模型&a…

作者头像 李华
网站建设 2026/5/6 7:28:54

ERNIE 4.5-21B终极部署指南:如何用210亿参数快速构建企业AI应用

ERNIE 4.5-21B终极部署指南&#xff1a;如何用210亿参数快速构建企业AI应用 【免费下载链接】ERNIE-4.5-21B-A3B-PT 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-21B-A3B-PT 还在为AI部署的高成本和高门槛发愁吗&#xff1f;&#x1f914; ERNIE 4.5…

作者头像 李华
网站建设 2026/5/1 0:20:51

Java多线程——线程池,全方面解答,小白收藏这篇也足够了

线程池 1.1 什么是线程池 线程池是一种多线程管理机制&#xff0c;通过池化技术来重用现有线程而不是创建新的线程&#xff0c;从而降低线程创建和销毁的开销。线程池通过工作队列和线程管理来实现高效的任务执行。 1.2 为什么使用线程池 一个线程大约占用的内存为1M 解决频繁…

作者头像 李华
网站建设 2026/5/5 12:13:56

Java——数组,小白到精通,收藏这篇就够了

目录 一、认识数组 1、数组的概念 2、数组的类型 3、数组在JVM是如何存储 二、一维数组 1、一维数组的定义 1、动态初始化&#xff1a; 2、静态初始化&#xff1a; 2、一维数组的使用 [1、数组中元素的使用](about:blank#%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%…

作者头像 李华
网站建设 2026/4/30 22:48:54

链动 2+1 模式拆解:如何3 个月卖光 2000 吨白酒?

老周&#xff08;化名&#xff09;出身茅台镇酿酒世家&#xff0c;手握祖辈传承的原配方技术&#xff0c;满怀信心打造了自己的白酒品牌&#xff0c;斥巨资生产了 2000 吨优质酱香酒。本以为凭借 “茅台镇核心产区 古法工艺” 的优势能打开市场&#xff0c;没想到现实给了他沉…

作者头像 李华