news 2026/6/10 12:16:48

解决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/6/10 14:11:33

适用于相控阵雷达的宽温、高动态DC-DC电源模块设计与测试

专用于雷达供电系统的DC-DC模块电源是一个非常专业和关键的领域。这类电源与普通工业电源有本质区别&#xff0c;必须满足雷达系统的特殊严苛要求。 以下是对雷达专用DC-DC模块电源的全面解析&#xff1a; 1.核心特点与要求 雷达系统&#xff08;尤其是相控阵雷达、脉冲多普勒雷…

作者头像 李华
网站建设 2026/6/10 17:31:23

Vuetify终极指南:从零构建企业级Vue应用的完整教程

Vuetify终极指南&#xff1a;从零构建企业级Vue应用的完整教程 【免费下载链接】vuetify &#x1f409; Vue Component Framework 项目地址: https://gitcode.com/gh_mirrors/vu/vuetify 还在为Vue项目中的UI设计一致性、开发效率和团队协作而烦恼&#xff1f;Vuetify作…

作者头像 李华
网站建设 2026/6/10 7:41:35

Python闭包与解释器全解析

一、全局变量和局部变量1.作用域在python中,作用域分为全局作用域和局部作用域.2.变量的作用域在局部定义的变量---->局部变量在全局定义的变量---->全局变量3.全局变量与局部变量的访问范围① 在全局作用域中可以访问全局变量&#xff0c;在局部作用域中可以访问局部变量…

作者头像 李华
网站建设 2026/6/10 4:17:00

14、Mac OS X 网络连接管理与资源访问指南

Mac OS X 网络连接管理与资源访问指南 1. 网络连接管理 在 Mac OS X 系统中,几乎所有网络连接方面的操作都可以通过命令行工具进行配置、检查和监控。 1.1 查看网络连接状态 使用 netstat 命令可以查看网络连接的详细信息,例如: c24e0000 tcp4 0 0 127.…

作者头像 李华