1、问题出现的场景
线上环境,拉取对账单,走的接口的形式,当天单量比较大,就出现了,拉取订单超时,报了个错java.io.IOException: Broken pipe。
2、解决方案
我们设置的超时时间是100S,由于当日单量比较大,看日志发现,拉取了3分钟才拉完,拉完之后返回给获取数据服务时,获取数据的服务已关闭服务连接,所以报了这个错,其实报错的字面意思描述也挺明确的。
吧超时时间设置为大于3分钟就ok了。
我们是微服务之间用的 feign 调用,所以设置一下读超时的时间即可,如下:
ribbon.ReadTimeout=180000
在此记录此问题,如果你不巧也遇到了此问题,希望能帮你提供一个解决思路。可适当改长你们调用方式的 ReadTimeout 时间。