当前位置: 首页 > news >正文

Feign相关内容

微服务架构中,声明式的HTTP客户端。核心作用是简化服务间调用

通过接口+注解定义远程调用,Feign接口使用FeignClient注解。启动类使用EnableFeignClients注解。

原理

feign是一个声明式http客户端。在启动类上加上EnableFeignClients注解。spring启动后,扫描带有FeignClient注解的接口,通过JDK动态代理生成实现类。

调用接口方法时,feign把注解解析成HTTP请求,通过loadBalance进行负载均衡,最终发起远程调用

如何传递header

通过方法参数,RequestHeader注解

或者拦截器

第一次调用慢

很多对象和资源都是在第一次调用时初始化的

  • 创建feign动态代理
  • 初始化负载均衡器,拉取服务器列表
  • 建立http连接池

Feign 超时如何处理

我会从 调用链、服务端、客户端配置、HTTP 客户端选型 四个层面来排查。

第一,先看日志和异常类型,区分是 ConnectTimeout 还是 ReadTimeout。

第二,排查被调用方(模块 B),看接口 RT、CPU、线程池、慢 SQL,确认是不是服务端本身慢。

如果服务端本身就慢,单纯调大 Feign 超时时间是治标不治本。

第三,检查 Feign 的配置,包括 connectTimeout 和 readTimeout,是否设置过小。

在 Spring Cloud 2023 中,Feign 默认使用的是 HttpURLConnection,生产环境我一般会替换为OkHttp并开启连接池,提升性能。

第四,结合业务场景评估是否需要调大超时时间。

如果是偶发抖动,我会适当调大;如果是常态慢,我会推动下游服务优化,而不是一味放大超时时间,避免线程被长时间占用。

此外,生产环境我们一般使用fallbackFactory,既能兜底,又能记录异常日志。

http://www.gsyq.cn/news/1594018.html

相关文章:

  • 3分钟解决Windows 11 LTSC缺少应用商店的终极方案
  • ISTA 3E整车单元装载堆码压缩试验简述
  • DLSS Swapper完整指南:一键管理游戏DLSS版本的终极解决方案
  • 中小企业虚拟化断供危机预警:这4个国产+国际双认证免费方案已通过金融级SLA测试
  • 如何3分钟完成Windows和Office智能激活:终极免费解决方案
  • N_m3u8DL-RE:解锁跨平台流媒体下载的终极方案
  • 哇塞!原来论文还能这样拿高分?2026AI智能降重工具推荐合集
  • 未来,什么才是 AI“正确的使用方式”
  • KMS智能激活终极指南:5分钟免费激活Windows和Office
  • 软件外观管理化的复杂系统简化
  • Chatbox桌面AI客户端跨平台部署与源码构建高效方案
  • 金融行业如何用智能知识库提升客服、投研与风控效率?
  • 从爱因斯坦度量到Bach平坦流形:四维几何与引力理论的演进
  • KMS激活终极指南:3分钟免费激活Windows和Office的完整解决方案
  • 二手萨姆肯 SAMCO RIE-300NR 反应离子刻蚀系统技术规格详解
  • 黑龙江深山信号盲区怎么解决?专网中继通信方案详解
  • Jmeter 压测保姆级入门教程
  • 【IDEA文件模板高阶实战指南】:20年JetBrains深度用户揭秘97%开发者不知道的5大模板黑科技
  • 2026年,四川省成都市透明胶带厂商名声究竟如何?背后真相大揭秘!
  • 如何快速将XAPK转换为APK:一站式解决Android应用安装兼容性问题
  • Destiny 2 Solo Enabler:3步实现单人游戏,告别匹配烦恼
  • KMS_VL_ALL_AIO:3分钟搞定Windows和Office激活的终极方案
  • okbiye AI 写作数据分析:甩掉 SPSS 与 Python,自动生成可直接复用的 docx 实证报告
  • 视频号资源下载难题如何破解?3个核心功能带你轻松获取网络素材
  • 059、多端同步策略:CLI 加 IDE 加 Cloud 三端的工作流统一方法
  • Adobe-GenP 3.0终极指南:如何快速免费激活Adobe全家桶
  • FModel终极指南:5步掌握虚幻引擎游戏资源解析技术
  • WinBtrfs:在Windows上解锁Linux下一代文件系统的完整指南
  • 48V/60V 储能高压高侧采样方案|可调增益低功耗,储能电源采样芯片 FP135 参数讲解
  • Appium+Python+pytest移动端自动化测试框架搭建与工程实践