1. 程式人生 > >spring cloud hystrix 配置屬性大全

spring cloud hystrix 配置屬性大全

spring cloud hystrix 配置屬性大全
commandProperties
execution.isolation.strategy
使用命令呼叫的隔離模式,預設採用執行緒隔離
execution.isolation.thread.timeoutInMilliseconds
一個命令執行的超時時間,以毫秒為單位,預設是1s
execution.timeout.enabled
是否開啟超時觸發,預設是開啟
execution.isolation.thread.interruptOnTimeout
使用執行緒隔離時,當命令超時時是否對命令所線上程執行中斷操作,預設為true,只會中斷執行緒處於阻塞狀態(如sleep,wait,join等狀態),正常執行的執行緒都不會中斷
execution.isolation.thread.interruptOnFutureCancel
使用執行緒隔離時,當Future取消時是否對命令所線上程執行中斷操作,預設為false
execution.isolation.semaphore.maxConcurrentRequests
使用訊號量隔離時,命令呼叫最大的併發數,預設為10個
fallback.enabled
是否開啟fallback降級策略,預設為true
fallback.isolation.semaphore.maxConcurrentRequests
使用訊號量隔離時,命令fallback呼叫的最大併發數,預設為10個
metrics.rollingStats.timeInMilliseconds
統計滾動視窗的時間,預設為10s(並且預設滾動視窗的桶數量為10個,所以一個桶一秒鐘),熔斷器會使用這個時間
metrics.rollingStats.numBuckets
統計視窗的桶數量,預設為10個,所以在一個10s的統計視窗中一個桶1秒鐘
metrics.rollingPercentile.enabled
是否開啟監控統計功能,計算各個百分比(SLA),預設為true
metrics.rollingPercentile.timeInMilliseconds
滾動百分比的統計時間,預設為60000即1分鐘,1分鐘統計一次
metrics.rollingPercentile.numBuckets
滾動百分比的桶數量,預設為6個,(在60s的視窗中10秒鐘一個桶)
metrics.rollingPercentile.bucketSize
每一個百分比視窗桶可以存放值得數量,預設為100即每個桶都多可以放100個值
metrics.healthSnapshot.intervalInMilliseconds
健康快照之間的間隔時間,預設為500ms(錯誤百分比等統計)
circuitBreaker.requestVolumeThreshold
一個滾動視窗內觸發熔斷的最少請求數,預設是20個。滾動視窗時間取自(metrics.rollingStats.timeInMilliseconds),預設10s內至少請求20次,熔斷才發揮作用。
circuitBreaker.sleepWindowInMilliseconds
觸發熔斷之後(拒絕請求),多長時間開始重新嘗試執行,預設是5000ms。步驟如下:熔斷器中斷請求5秒後會進入半開啟狀態,放下一個請求進來重試,如果該請求成功就關閉熔斷器,否則繼續等待一個熔斷時間視窗
circuitBreaker.enabled
是否啟用熔斷器,預設是啟用
circuitBreaker.errorThresholdPercentage
設定啟動熔斷的錯誤或者延遲的比例,預設是50%。在一個滾動視窗(預設10s)如果超過50%的請求發生錯誤或者延遲,則觸發熔斷器,前提是circuitBreaker.requestVolumeThreshold條件滿足
circuitBreaker.forceOpen
是否強制開啟熔斷器,預設為false,開啟之後所有請求全部拒絕,直接fallback
circuitBreaker.forceClosed
是否強制關閉熔斷器,預設為false,開啟之後不能熔斷
requestLog.enabled
hystrix執行的日誌是否列印,預設為true
requestCache.enabled
是都快取請求,request-scope快取,預設為true
threadPoolProperties
coreSize
設定執行緒池的大小,預設為10,也就是說最大併發為10
maximumSize
設定執行緒池打最大值,預設為10,只有allowMaximumSizeToDivergeFromCoreSize
為true時才生效
allowMaximumSizeToDivergeFromCoreSize
該屬性允許配置maximumSize生效,當coreSize小於maximumSize時建立一個最大值為maximumSize併發的執行緒池,但會在相對不活動期間返回執行緒到系統(受keepAliveTimeInMinutes控制)
keepAliveTimeMinutes
設定執行緒保持的時間,以分鐘為單位,預設為1分鐘,如果coreSize小於maximumSize,那麼這個屬性控制一個執行緒在不使用之後多久將被釋放
maxQueueSize
該屬性設定實現的最大佇列大小,預設為-1,-1代表SynchronousQueue將被使用,否則將使用一個正值的LinkedBlockingQueue,這個屬性只適用於初始化期間,並且不能更改或者調整,如果修改的話需要重啟
queueSizeRejectionThreshold
該屬性設定佇列大小拒絕閾值,即maxQueueSize還沒有達到最大值,此值也能動態響應拒絕佇列的大小,當maxQueueSize=-1時此值不起作用
metrics.rollingStats.timeInMilliseconds
該屬性設定統計滾動視窗的持續時間,以還秒為單位。這是為執行緒池保留多長時間的指標,預設為1000ms
metrics.rollingStats.numBuckets
該屬性設定滾動統計視窗分成桶的數量,必須能被metrics.rollingStats.timeInMilliseconds整除,預設為10
collapserProperties
maxRequestsInBatch 該屬性設定批量處理的最大請求數量,預設值為Integer.MAX_VALUE
timerDelayInMilliseconds 該屬性設定多長時間之內算一次批處理,預設為10ms
requestCache.enabled 是都快取請求,request-scope快取,預設為true
metrics.rollingStats.timeInMilliseconds 統計滾動視窗的時間,預設為10s(並且預設滾動視窗的桶數量為10個,所以一個桶一秒鐘)
metrics.rollingStats.numBuckets 統計視窗的桶數量,預設為10個,所以在一個10s的統計視窗中一個桶1秒鐘
metrics.rollingPercentile.enabled 是否開啟監控統計功能,計算各個百分比(SLA),預設為true
metrics.rollingPercentile.timeInMilliseconds 滾動百分比的統計時間,預設為60000即1分鐘,1分鐘統計一次
metrics.rollingPercentile.numBuckets 滾動百分比的桶數量,預設為6個,(在60s的視窗中10秒鐘一個桶)
metrics.rollingPercentile.bucketSize 每一個百分比視窗桶可以存放值得數量,預設為100即每個桶都多可以放100個值

作者:乃刀的青春
來源:CSDN
原文:https://blog.csdn.net/heartroll/article/details/78910834
版權宣告:本文為博主原創文章,轉載請附上博文連結!