news 2026/6/24 0:34:50

解决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/23 21:05:44

如何让GPT-5.2成为你职场上的得力助手?这5大功能必看!

大家好&#xff01;如果你和我一样&#xff0c;工作中有时候会感觉时间不够用&#xff0c;任务繁重&#xff0c;常常忙得不可开交。那么&#xff0c;你一定会喜欢上GPT-5.2这个新伙伴&#xff01;它不仅能帮助你处理繁琐的日常工作&#xff0c;还能大大提升你的工作效率&#x…

作者头像 李华
网站建设 2026/6/23 21:05:38

如何快速掌握YOLOv12:实时目标检测的完整实践指南

如何快速掌握YOLOv12&#xff1a;实时目标检测的完整实践指南 【免费下载链接】yolov10n 项目地址: https://ai.gitcode.com/hf_mirrors/jameslahm/yolov10n 如果你正在寻找一款既能保持实时性能又能提供卓越精度的目标检测模型&#xff0c;那么YOLOv12绝对值得你深入了…

作者头像 李华
网站建设 2026/6/23 20:47:29

PINNs-Torch:用PyTorch轻松实现物理信息神经网络

PINNs-Torch&#xff1a;用PyTorch轻松实现物理信息神经网络 【免费下载链接】pinns-torch PINNs-Torch, Physics-informed Neural Networks (PINNs) implemented in PyTorch. 项目地址: https://gitcode.com/gh_mirrors/pi/pinns-torch PINNs-Torch是一个基于PyTorch框…

作者头像 李华
网站建设 2026/6/23 20:47:45

JavaScript学习笔记:5.函数

JavaScript学习笔记&#xff1a;5.函数 上一篇咱们解锁了JS的“重复干活技能”&#xff08;循环与迭代&#xff09;&#xff0c;这一篇来攻克JS的核心组件——函数。如果说变量是JS的“砖瓦”&#xff0c;循环是“重复施工工具”&#xff0c;那函数就是“预制构件厂”&#xff…

作者头像 李华
网站建设 2026/6/23 6:04:12

Apache Kvrocks数据库部署实战:从零到一的完整搭建教程

Apache Kvrocks数据库部署实战&#xff1a;从零到一的完整搭建教程 【免费下载链接】kvrocks Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. 项目地址: https://gitcode.com/gh_mi…

作者头像 李华
网站建设 2026/6/22 20:50:02

16、远程系统管理与安全防护指南

远程系统管理与安全防护指南 1. 使用 screen 实现丰富的远程 shell 操作 在进行远程系统管理时, ssh 命令存在局限性,它只能提供一个屏幕。一旦该屏幕丢失,在远程计算机上正在进行的所有操作都会中断。例如,当你正在进行一个长达 12 小时的编译任务时,这种情况会带来严…

作者头像 李华