博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springcloud中fegin第一次跨模块调用超时
阅读量:4070 次
发布时间:2019-05-25

本文共 443 字,大约阅读时间需要 1 分钟。

问题

springcloud架构的项目中,偶尔出现fegin第一次调用超时的问题,该怎么处理?

现象

项目是个后端接口服务,接口调用链路会涉及到多个模块间fegin的调用。现象是:有时候重启部署后或者经过很长一段空闲时间,第一次调用网关接口不成功,第二次调用的时候就好了,建立连接之后调用都正常,并且是偶发性的,不好重现。

解决

通过分析日志文件,多方排查,确认是fegin第一次调用超时,从源码点进去查找,发现fegin的默认超时时间是2s,这对于第一次调用来说,初始化连接的时间不够,导致超时。尤其是jdbc连接hive或impala的时候,比普通的关系型数据库需要更多的时间。找到原因了,就开始修改,fegin的配置中支持connection-timeout配置,改大些就好了。

feign:  httpclient:    connection-timeout: 60000    max-connections: 500  hystrix:    enabled: false

 

转载地址:http://wulji.baihongyu.com/

你可能感兴趣的文章
Linux 粘滞位 suid sgid
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform皮肤控件IrisSkin4.dll使用
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb 命令
查看>>
MongoDB基本使用
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
nodejs Stream使用中的陷阱
查看>>
MongoDB 数据文件备份与恢复
查看>>
数据库索引介绍及使用
查看>>
MongoDB数据库插入、更新和删除操作详解
查看>>
MongoDB文档(Document)全局唯一ID的设计思路
查看>>
mongoDB简介
查看>>
Redis持久化存储(AOF与RDB两种模式)
查看>>
memcached工作原理与优化建议
查看>>
Redis与Memcached的区别
查看>>
redis sharding方案
查看>>