升级到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
希望下个版本中,能尽快修复该问题。
参考文章:
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/