在网上查看资料说是关掉熔断feign.hystrix.enabled=false,延长时间,但是都不好使,哪位大神知道还可能是那方面引起的原因?
看看各种日志,看超时发生的地方
这个是Ribbon的问题。由于Ribbon第一次调用的时候,才会真正去初始化Ribbon Client,这个可能会比较慢,然后才去调用远端服务,而Ribbon
本身的默认超时时间是1秒钟,太短了,可以设置长一些。
Ribbon 默认时间:
public class RibbonClientConfiguration {
public static final int DEFAULT_CONNECT_TIMEOUT = 1000;
public static final int DEFAULT_READ_TIMEOUT = 1000;
}
可以如下调整:
ribbon:
ReadTimeout: 5000
ConnectTimeout: 5000
另外,你可以观察一下报的错误具体是啥,如果是下面这样的操作,说明是Ribbon超时了:
feign.RetryableException: Read timed out executing POST http://xxxapp/xxxurl
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)