使用环境变量设置Hystrix超时

Mic*_*urt 4 hystrix spring-cloud spring-cloud-netflix

要更改Hystrix的默认请求超时(1000毫秒),必须设置以下属性: hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=2000

相应的环境变量是什么?

我想在我最喜欢的云平台上"调整"超时,而不首先触及源代码.我很确定这个不起作用:HYSTRIX_COMMAND_DEFAULT_EXECUTION_ISOLATION_THREAD_TIMEOUT_IN_MILLISECONDS=2000


编辑:Spring Cloud Camden/Spring Boot 1.4发现问题.

jih*_*hor 6

可以从应用程序配置引用VM选项和环境变量,这通常是设置具有较长名称的属性的更方便的方法.

例如,可以在以下位置定义以下引用application.yml:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: ${service.timeout}
Run Code Online (Sandbox Code Playgroud)

将从VM选项中解析-Dservice.timeout=10000,将默认Hystrix命令超时设置为10秒.环境变量更简单 - 由于轻松绑定,任何这些都可以工作(export示例适用于Linux):

  • export service.timeout=10000
  • export service_timeout=10000
  • export SERVICE.TIMEOUT=10000
  • export SERVICE_TIMEOUT=10000

常用方法是lowercase.dot.separated用于VM参数和ALL_CAPS_WITH_UNDERSCORES环境变量.


Mic*_*urt 1

使用SPRING_APPLICATION_JSON环境变量找到了更多的解决方法而不是解决方案:

SPRING_APPLICATION_JSON='{ "hystrix" : { "command" : { "default" : { "execution" : { "isolation" : { "thread" : { "timeoutInMilliseconds" : 3000 } } } } } } }'