限流器和熔斷器技術選型

2021-10-12 14:00:14 字數 650 閱讀 3953

大家應該聽過服務的「雪崩效應」,在微服務開發中,如果某個底層的服務出現故障,一直阻塞,那麼上層依賴它的服務堆積的執行緒會越來越多,上上層的服務也會隨之堆積,堆積到上限後,導致整個系統崩潰。目前我們的系統也頻繁出現此類問題,導致閘道器需要不斷的擴容,目前在閘道器上,已經通過在servlet中採用執行緒池非同步化了請求,已經可以限制單個閘道器例項的最大請求數量(設定了300個),這樣一來閘道器是不會再崩潰了,但是如果不穩定的請求或慢請求佔據了整個執行緒池,依然會導致其他核心業務的請求被拒絕或響應變慢。我們需要從更細的粒度控制不穩定的服務,保障應用的高可用。

為了解決上述的雪崩問題,就是把故障隔離,首先我們認為服務是可以區分重要等級的,在乙個請求中往往呼叫了多個服務,其中包含一部分非關鍵業務的操作和查詢,例如在查詢客戶詳情時,查詢配偶資訊的介面總超時,客戶的配偶資訊相對於客戶本身的資訊可能就沒那麼重要,不能因為配偶資訊超時影響到整個客戶資訊的查詢,這時可以捨棄配偶資訊的查詢。那麼系統怎麼知道某個服務出現了故障呢,很顯然我們能想到頻繁的拋錯和頻繁的超時的時候,服務一定是出現了問題,為了最大程度保障服務的可用,對於每個請求保證主要業務能執行成功,熔斷非主要業務,這就是我們所說的服務降級的乙個例子。服務降級往往是按一定指標捨棄掉系統中耗時長、頻繁丟擲異常的非關鍵服務。

降級的處理方式,返回預設值,返回快取裡面的值(包括遠端快取比如redis和本地快取比如jvmcac

熔斷器熔斷時間標準 正確認識熔斷器的熔斷時間

正確認識熔斷器的熔斷時間 熔斷時間是熔斷器的乙個重要引數,它直接反映了熔斷器的保護功能的強弱,但必須跟所負載的電流相對應,任何乙個負載電流對應熔斷時間的函式關係就形成了熔斷器最重要的效能指標之一 熔斷特性或安秒特性 i t特性 熔斷特性常用的表達方法有兩種 供檢測和驗收依據的i t 反映的則是曲線上...

Hystrix熔斷器(筆記)

當請求的微服務宕機,或者響應時間超時,會觸發熔斷機制,熔斷當前請求。hystrix 是乙個供分布式系統使用,提供延遲和容錯功能,保證複雜的分布系統在面臨不可避免的失敗時,仍能有其彈性。1 依賴 hystrix依賴,主要是用 hystrixcommand org.springframework.clo...

熔斷器Hystrix簡介

1 未使用統一的 退路方法,要在每個方法上配置 hystrixcommand fallbackmethod fallback hystrixcommand fallbackmethod fallback public object get pathvariable long id 退路 public...