spring cloud 第一次响应超时报错

在网上查看资料说是关掉熔断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)