Hystrix部分参数说明

来源:互联网 发布:linux apache ab测试 编辑:程序博客网 时间:2024/05/19 20:49
Hystrix部分参数说明
https://github.com/Netflix/Hystrix/wiki/Configuration


Command Properties
1、Execution

控制HystrixCommand.run()的执行策略


execution.isolation.strategy 执行隔离策略
THREAD  每次在一个线程中执行,并发请求数限制于线程池的线程数
SEMAPHORE 在调用线程中执行,并发请求数限制于semaphore信号量的值

Thread是默认推荐的选择。


execution.isolation.thread.timeoutInMilliseconds

超时时间,默认1000ms


execution.timeout.enabled

是否开启超时,默认true


execution.isolation.thread.interruptOnTimeout
当超时的时候是否中断(interrupt) HystrixCommand.run()执行

 

2、Fallback

设置当fallback降级发生时的策略


Circuit Breaker
配置熔断的策略
circuitBreaker.enabled

是否开启熔断,默认true


circuitBreaker.requestVolumeThreshold

设置一个滑动窗口内触发熔断的最少请求量,默认20。例如,如果这个值是20,一个滑动窗口内只有19个请求时,即使19个请求都失败了也不会触发熔断。


circuitBreaker.sleepWindowInMilliseconds

设置触发熔断后,拒绝请求后多长时间开始尝试再次执行。默认5000ms。


circuitBreaker.errorThresholdPercentage

设置触发熔断的错误比例。默认50,即50%。


circuitBreaker.forceOpen

是否强制开启熔断


circuitBreaker.forceClosed

是否强制关闭熔断


3、Metrics

设置关于HystrixCommand执行需要的统计信息


metrics.rollingStats.timeInMilliseconds
设置滑动窗口的统计时间。熔断器使用这个时间。

默认10s


metrics.rollingStats.numBuckets

设置滑动统计的桶数量。默认10。metrics.rollingStats.timeInMilliseconds必须能被这个值整除。


metrics.rollingPercentile.enabled
设置执行时间是否被跟踪,并且计算各个百分比,50%,90%等的时间。默认true。

 

4、Request Context

设置HystrixCommand使用的HystrixRequestContext相关的属性.


requestCache.enabled

设置是否缓存请求,request-scope内缓存。默认true


requestLog.enabled

设置HystrixCommand执行和事件是否打印到HystrixRequestLog中。


ThreadPool Properties
配置HystrixCommand使用的线程池的属性。

大多数情况下默认的10个线程都是值得建议的。


coreSize

设置线程池的core size,这是最大的并发执行数量。默认10


maxQueueSize

最大队列长度。设置BlockingQueue的最大长度。默认-1。

如果设置成-1,就会使用SynchronizeQueue。

如果其他正整数就会使用LinkedBlockingQueue。


queueSizeRejectionThreshold
设置拒绝请求的临界值。只有maxQueueSize为-1时才有效。

设置设个值的原因是maxQueueSize值运行时不能改变,我们可以通过修改这个变量动态修改允许排队的长度。默认5


keepAliveTimeMinutes
设置keep-live时间。默认1分钟

这个一般用不到因为默认corePoolSize和maxPoolSize是一样的。


转载地址:点击打开链接

原创粉丝点击