https://github.com/Netflix/Hystrix/wiki/Configuration
Command Properties
1、Execution
控制HystrixCommand.run()的执行策略
THREAD 每次在一个线程中执行,并发请求数限制于线程池的线程数
SEMAPHORE 在调用线程中执行,并发请求数限制于semaphore信号量的值
Thread是默认推荐的选择。
超时时间,默认1000ms
是否开启超时,默认true
当超时的时候是否中断(interrupt) HystrixCommand.run()执行
2、Fallback
设置当fallback降级发生时的策略
配置熔断的策略
circuitBreaker.enabled
是否开启熔断,默认true
设置一个滑动窗口内触发熔断的最少请求量,默认20。例如,如果这个值是20,一个滑动窗口内只有19个请求时,即使19个请求都失败了也不会触发熔断。
设置触发熔断后,拒绝请求后多长时间开始尝试再次执行。默认5000ms。
设置触发熔断的错误比例。默认50,即50%。
是否强制开启熔断
是否强制关闭熔断
设置关于HystrixCommand执行需要的统计信息
设置滑动窗口的统计时间。熔断器使用这个时间。
默认10s
设置滑动统计的桶数量。默认10。metrics.rollingStats.timeInMilliseconds必须能被这个值整除。
设置执行时间是否被跟踪,并且计算各个百分比,50%,90%等的时间。默认true。
4、Request Context
设置HystrixCommand使用的HystrixRequestContext相关的属性.
设置是否缓存请求,request-scope内缓存。默认true
设置HystrixCommand执行和事件是否打印到HystrixRequestLog中。
配置HystrixCommand使用的线程池的属性。
大多数情况下默认的10个线程都是值得建议的。
设置线程池的core size,这是最大的并发执行数量。默认10
最大队列长度。设置BlockingQueue的最大长度。默认-1。
如果设置成-1,就会使用SynchronizeQueue。如果其他正整数就会使用LinkedBlockingQueue。
设置拒绝请求的临界值。只有maxQueueSize为-1时才有效。
设置设个值的原因是maxQueueSize值运行时不能改变,我们可以通过修改这个变量动态修改允许排队的长度。默认5
设置keep-live时间。默认1分钟
这个一般用不到因为默认corePoolSize和maxPoolSize是一样的。
转载地址:点击打开链接