升级到Edgware.RELEASE发现,zuul中不管如何设置hystrix的超时时间均不起作用,仍然是默认的1000ms. 降回低版本后正常,但是低版本的fallback方法中,又拿不到详细异常信息,最终暂时在Edgware.RELEASE中,将hystrix的超时关掉,参考以下配置:
ribbon: ReadTimeout: 5000 ConnectTimeout: 5000 MaxAutoRetries: 0 MaxAutoRetriesNextServer: 1 hystrix: command: default: execution: timeout: enabled: false #Edgware.RELEASE中,timeoutInMilliseconds不起作用,暂时关掉 isolation: thread: timeoutInMilliseconds: 10000 zuul: host: socket-timeout-millis: 10000 connect-timeout-millis: 10000
希望下个版本中,能尽快修复该问题。
2018-02-05 更新:Edgware.SR1中已经修复了该bug
参考文章:
1、hystrix 官方配置:https://github.com/Netflix/Hystrix/wiki/Configuration#execution.isolation.strategy
2、周立的spring-cloud超时总结:http://www.itmuch.com/spring-cloud-sum/spring-cloud-timeout/
3、周立的spring-cloud重试总结:http://www.itmuch.com/spring-cloud-sum/spring-cloud-retry/