<强>概述强>
春云中,客户端的负载均衡使用的是<代码>丝带代码>,<代码>丝带> 代码的超时时间默认很短,需要进行调整。
<强>春云版本强>
Edgware.SR3 引用>
<>强带超时设置强>
<代码>丝带> 代码的默认超时<代码> 代码>时间是1秒,这个可以在<代码> RibbonClientConfiguration> 代码类中看到。
公开课RibbonClientConfiguration { 公共静态最终int DEFAULT_CONNECT_TIMEOUT=1000; 公共静态最终int DEFAULT_READ_TIMEOUT=1000; }当你在日志里看到如下报错的时候,说明<代码>丝带> 代码发生<代码>超时代码>了。
假装。RetryableException:读超时执行POST http://xxxapp/xxxurl
引用>
,在feign.FeignException.errorExecuting (FeignException.java: 67)
,在feign.SynchronousMethodHandler.executeAndDecode (SynchronousMethodHandler.java: 104)
,在feign.SynchronousMethodHandler.invoke (SynchronousMethodHandler.java: 76)
,在feign.ReflectiveFeign FeignInvocationHandler.invoke美元(ReflectiveFeign.java: 103)<代码> DEFAULT_READ_TIMEOUT 代码>设置为1秒,有点短了,虽然大部分应用接口,如果响应时间超过了1秒,已经是非常长的,但是在流量比较大的时候,应用的接口响应本来就会变慢,为了防止线上故障,最好将这个时间设置为长一些。一般是3秒到5秒。
我们可以在<代码> application.yml> 代码或者<代码> bootstrap.yml 代码>文件中如下设置:
丝带:
引用>
,ReadTimeout: 5000
,ConnectTimeout: 5000注意,在Eclipse 代码>或<代码>者<代码> Intellij IDEA 代码>里,这两个<代码>超时代码>时间属性是不会有提示的,这个很正常。不是所有的属性,IDE都能正常提示的,不过没关系,不影响使用的。只要你配置了,<代码>丝带> 代码就好按照你配置的来。
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
SpringCloud Edgware.SR3版本中带的超时设置方法