spring cloud 调用feign请求超时 feign.RetryableException: Read timed out executing POST

记录一次feign.RetryableException: timeout executing POST……问题 问题 因为数据量过大,公司项目访问外部接口一直报标题所示的超时问题,各种百度过后,基本都是hystrix和ribbon的锅。 解决方法 尝试更改hystrix和ribbon的超时时间为600000毫秒(十分钟): ribbon: ReadTimeout: 600000 # 处理时间 ConnectTimeout: 600000 # 连接时间 MaxAutoRetries: 0 #最大自动重试次数 MaxAutoRetriesNextServer: 1 # 换实例重试次数 MaxTotal 阅读详情

问题介绍:

服务之间调用报错超时,截取部分报错,Read timed out executing POST http://******

feign.RetryableException: Read timed out executing POST http://******

        at feign.FeignException.errorExecuting(FeignException.java:67)

        at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:104)

        at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76)

        at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103)

        at com.sun.proxy.$Proxy113.getBaseRow(Unknown Source)

Caused by: java.net.SocketTimeoutException: Read timed out

        at java.net.SocketInputStream.socketRead0(Native Method)

        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

        at java.net.SocketInputStream.read(SocketInputStream.java:170)

        at java.net.SocketInputStream.read(SocketInputStream.java:141)

        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

        at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

        at java.io.BufferedInputStream.read(BufferedInputStream.java:345)

        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)

        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)

        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1569)

        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)

        at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)

        at feign.Client$Default.convertResponse(Client.java:152)

        at feign.Client$Default.execute(Client.java:74)

原因及解决办法:

明显可以看到是http请求报错超时,feign的调用分两层,ribbon的调用和hystrix的调用,高版本的hystrix默认是关闭的,所以在application.properties配置文件中设置ribbon即可

#请求处理的超时时间

ribbon.ReadTimeout: 120000

#请求连接的超时时间

ribbon.ConnectTimeout: 30000

如果开启hystrix,hystrix的超时报错如下图:

 FeignDemo#demo() timed-out and no fallback available。和ribbon超时报错还是有区别的

com.netflix.hystrix.exception.HystrixRuntimeException: FeignDemo#demo() timed-out and no fallback available.

at com.netflix.hystrix.AbstractCommand$22.call(AbstractCommand.java:819)

at com.netflix.hystrix.AbstractCommand$22.call(AbstractCommand.java:804)

at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)

at com.netflix.hystrix.AbstractCommand$DeprecatedOnFallbackHookApplication$1.onError(AbstractCommand.java:1472)

at com.netflix.hystrix.AbstractCommand$FallbackHookApplication$1.onError(AbstractCommand.java:1397)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)

at rx.observers.Subscribers$5.onError(Subscribers.java:230)

Caused by: java.util.concurrent.TimeoutException

at com.netflix.hystrix.AbstractCommand.handleTimeoutViaFallback(AbstractCommand.java:997)

at com.netflix.hystrix.AbstractCommand.access$500(AbstractCommand.java:60)

at com.netflix.hystrix.AbstractCommand$12.call(AbstractCommand.java:610)

at com.netflix.hystrix.AbstractCommand$12.call(AbstractCommand.java:601)

解决办法:

feign.hystrix.enabled: true

hystrix 熔断机制

hystrix:

shareSecurityContext: true

command:

default:

circuitBreaker:

sleepWindowInMilliseconds: 100000

forceClosed: true

execution:

isolation:

thread:

timeoutInMilliseconds: 600000

feign.RetryableException: Read timed out executing POST http://****** at feign.FeignException.errorE feign.RetryableException: Read timed out executing POST http://****** at feign.FeignException.errorExecuting(FeignException.java:67) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMetho... 阅读详情

相关推荐

C++/WinRT入门指南:现代Windows原生开发的核心技术

Windows运行时(WinRT)是微软为现代Windows应用开发设计的一套跨语言API框架,它基于COM技术原理构建,提供了统一的二进制接口标准。这项技术的核心价值在于让开发者能够以原生性能调用系统级功能,同时保持跨语言兼容性。在工程实践中,C++/WinRT作为官方推荐的C++语言投影,通过标准C++语法封装WinRT API,显著降低了开发复杂度。特别是在异步编程场景中,结合C++20协程特性,能够大幅提升代码可读性和维护性。对于需要高性能图形处理、系统集成或跨平台兼容的桌面应用开发,掌握C++/W

weixin_33910191的博客 1196

【Spring Cloud】spring cloud 调用feign请求超时 feign.RetryableException: Read timed out executing POST

Spring Cloud项目,两个微服务之间调用报错超时,控制台抛出异常,截取部分报错: feign.RetryableException: Read timed out executing POST http://

No8g攻城狮的博客 9703

阿里云大模型ACP认证模拟考试(三)

【摘要】:在阿里云大模型高级工程师 ACP 认证暂无真题题库的现状下,模拟题具有重要意义。其依照真实考试设计,涵盖题型、题量与分值分布,助力考生熟悉考试框架,合理分配答题时间精力,提升效率。同时,模拟题紧扣官方课程,能帮助考生精准定位知识盲点,如大模型架构原理和通义千问应用实践等重点内容,以便针对性完善知识体系。此外,通过练习模拟题,考生可掌握不同题型的解题思维与技巧,快速洞察复杂题目本质,提高答题准确率。

davidkorhenn的博客 3578

feign.RetryableException: Read timed out executing POST 异常处理

详情1 spring cloud使用feign调用服务提供者时出现feign.RetryableException: Read timed out executing POST.....异常,按照网上添加 ribbon: ReadTimeout: 60000 ConnectTimeout: 60000 还是报Read time out的错,排查原因是数据库客户端上有个语句执...

艾斯-李的博客 3万+

【BLE】HID设备开发实战:从自拍杆到复合设备的蓝牙控制方案

本文深入解析了BLE HID(低功耗蓝牙人机接口设备)的开发实战,从蓝牙自拍杆的工作原理切入,详细阐述了HID Report Map的设计与实现。通过拆解自拍杆、键盘、鼠标等案例,指导开发者如何利用BLE的低功耗与即插即用特性,构建从单一功能到键盘鼠标复合设备的完整蓝牙控制方案。

weixin_29159613的博客 464

PythonWeb开发框架—Django之工程创建和models的定义和增删改查

文章介绍了Django工程的创建、models的定义和增删改查

weixin_42476668的博客 990

微服务调用feign.RetryableException超时问题

Feign 和 Ribbon 的超时时间只会有一个生效,规则:如果没有设置过 feign 超时,也就是等于默认值的时候,就会读取 ribbon 的配置,使用 ribbon 的超时时间和重试设置。feign的超时配置有很多,有feign自身的,也有ribbon相关的。超时主要有两类配置:一个是连接超时,一个是读取超时。这里有一个要注意的点就是如果只配置了连接超时或者读取超时其中一个是不会生效的,必须在配置文件中对这两类超时全部配置才会生效。在没有做特定配置的情况下,feign的默认超时时间是。

一瓢西湖水的博客 8549

智能车图像处理5-入门级分析4 ---环岛的状态机与补线

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 8221

feign.RetryableException: Read timed out executing xxx

问题介绍:服务之间调用报错超时(读取超时时间长 ),截取部分报错,Read timed out executing POST http://****** , Feign底层使用Ribbon调用请求,ribbon的默认超时时间为1s,所以超过1s没有数据返回就会报错 原因及解决办法: 明显可以看到是http请求报错超时,feign的调用分两层,ribbon的调用和hystrix的调用,高版本的hystrix默认是关闭的,所以在application.properties配置文件中设置ribbo...

qq_31459039的博客 3199

用R来做一个临床研究亚组分析的森林图

在编程语言里R语言最强大的功能是做图功能,我们知道在做Meta分析的时候会需要做森林图,实际上我们在很多临床研究中也经常看到森林图,主要是亚组分析的森林图,比如下面这篇文章里的一个森林图: 今天就教教大家怎么用R语言来做上面这种亚组分析的森林图 1. 在Excel里编辑好数据,按照下面的格式整理,保存为csv格式 2. 下载安装R跟Rstudio R软件的下载地址: https://mirrors.tuna.tsinghua.edu.cn/CRAN/ Rstudio下

Mrrunsen的博客 5340

swl安装无法与服务器建立链接,如何解决?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 2075

feign.RetryableException: Read timed out executing POST http:/******

使用 feign做apicenter的时候, provider需要到数据平台请求数据,出现了一下的错误: feign.RetryableException: Read timed out executing POST :http://***/v1/***/406 at feign.FeignException.errorExecuting(FeignException.java...

poem_2010的博客 2630

摩尔线程嵌入式面试题及参考答案(2万字长文)

说一下你对 drm 框架的理解。 DRM(Direct Rendering Manager)是 Linux 系统中用于管理图形显示设备的一个重要框架。 从架构层面来讲,它处于内核空间,主要目的是为用户空间的图形应用程序提供一个统一的接口来访问图形硬件。DRM 包括内核态的驱动模块和用户态的库。内核态的驱动负责和硬件进行交互,比如对显存的管理、硬件寄存器的配置等。用户态的库则方便应用程序利用内核态提供的功能进行图形渲染等操作。 在图形显示的具体流程中,DRM 可以控制显示设备的分辨率、刷

大模型大数据攻城狮的专栏 1229

springcloud之Feign(nacos组件中的)调用超时问题(feign.RetryableException: Read timed out executing GET http://)

报错日志如下: Binary data 2020-11-11 19:47:07.894 ERROR c.n.c.c.r.e.GlobalExceptionHandler:72 - errorMsg=Read timed out executing GET http://XXXXXXX,innerCode=5000,exception={} feign.RetryableException: Read timed out executing GET http:// XXXXXXXX at feign.F

nandao158的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

调用feign请求超时 feign.RetryableException: Read timed out executing POST

feign.RetryableException: Read timed out executing POST http://xxx at feign.FeignException.errorExecuting(FeignException.java:67) at feign.SynchronousMethodHandler.executeAndDecode(Synchronous

天下无双 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SpringCloud中使用feign调用 超时的问题:feign.RetryableException: Read timed out executing POST

1.出现错误原理fegin 调用服务有个默认的时间超过这个时间会出现服务调用超时 因为fegin 默认整合了ribbon和 hystrix 解决办法如下 #hystrix的超时时间 hystrix: command: default: execution: timeout: enabled: true isolati...

沉在水底的鱼的博客 7208

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

feign获取outstream_调用feign请求超时 feign.RetryableException: Read timed out executing POST

aused by: java.net.SocketTimeoutException: Read timed outat java.net.SocketInputStream.socketRead0(SocketInputStream.java)at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)at java.ne...

weixin_36372610的博客 196

feign.RetryableException: Read timed out executing POST

feign.RetryableException: Read timed out executing POST http://mysql/metric 配置文件中添加 ribbon: ReadTimeout: 60000 ConnectTimeout: 60000

wyjyxq的博客 1万+

在SpringCloud中利用feign调用 超时的问题:feign.RetryableException: Read timed out executing POST

在利用feign调用的时候会数据过大的时候会遇到超时的问题,这个时候需要对yml文件里面的熟悉进行配置: 微服务间调用其实走的是http请求,debug了一下默认的ReadTimeout时间为5s,ConnectTimeout时间为2s。在以后的服务调用中要充分的了解这一点。 ...

weixin_43889681的博客 1万+

feign调用超时 原因_Spring could 使用Feign超时问题

在使用Spring Cloud的时候遇见了 这个异常:feign.RetryableException: Read timed out executing POST xxxxxxat feign.FeignException.errorExecuting(FeignException.java:65)at feign.SynchronousMethodHandler.executeAndDecod...

weixin_26824207的博客 1089

feign.RetryableException: Read timed out executing POST http://......

问题描述 SpringCloud微服务之间远程调用报错超时。 feign.RetryableException: Read timed out executing POST http://...... 原因及解决方案 这是一个http请求报错超时,因为feign的调用分为两层:Ribbon的调用和Hystrix的调用,所以我们在配置文件中添加超时配置即可。高版本的Hystrix默认是关闭的,可以不设置。 #hystrix的超时时间 hystrix: command: default:

杨幂等 6413

springcloud之Feign超时提示Read timed out executing POST

springcloud之Feign超时提示Read timed out executing POST

A乐神的博客 3927
上一篇: springboot项目中访问druid内置监控页面
下一篇: Spring学习笔记 根据部署环境加载bean
qq_34412985
博客等级 码龄11年 143粉丝 983原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值