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是一樣的。
轉載地址:點擊打開鏈接