Hystrix參數說明

Hystrix參數說明

https://github.com/Netflix/Hystrix/wiki/Configurationgit


Command Properties
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()執行
 
Fallback
設置當fallback降級發生時的策略
Circuit Breaker
配置熔斷的策略
circuitBreaker.enabled
是否開啓熔斷,默認true
circuitBreaker.requestVolumeThreshold
設置一個滑動窗口內觸發熔斷的最少請求量,默認20。例如,若是這個值是20,一個滑動窗口內只有19個請求時,即便19個請求都失敗了也不會觸發熔斷。
circuitBreaker.sleepWindowInMilliseconds
設置觸發熔斷後,拒絕請求後多長時間開始嘗試再次執行。默認5000ms。
circuitBreaker.errorThresholdPercentage
設置觸發熔斷的錯誤比例。默認50,即50%。
circuitBreaker.forceOpen
是否強制開啓熔斷
circuitBreaker.forceClosed
是否強制關閉熔斷github


Metrics
設置關於HystrixCommand執行須要的統計信息
metrics.rollingStats.timeInMilliseconds
設置滑動窗口的統計時間。熔斷器使用這個時間。
默認10s
metrics.rollingStats.numBuckets
設置滑動統計的桶數量。默認10。metrics.rollingStats.timeInMilliseconds必須能被這個值整除。
metrics.rollingPercentile.enabled
設置執行時間是否被跟蹤,而且計算各個百分比,50%,90%等的時間。默認true。
 
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是同樣的。緩存

相關文章
相關標籤/搜索