什么是 Sentinel?
在分布式系統中,服務間的依賴關系錯綜復雜。一個服務的故障,很可能像多米諾骨牌一樣,迅速蔓延并導致整個系統崩潰,這就是我們常說的“雪崩效應”。為了避免這種災難性后果,我們需要一種強大的機制來保護我們的系統,而 Sentinel 正是為此而生。
Sentinel 是由阿里巴巴開源的一款高性能、輕量級的流量控制、熔斷降級組件。它以流量為切入點,從多個維度保護服務的穩定性,幫助我們構建更健壯、更可靠的分布式應用。
Sentinel 能做什么?
Sentinel 的核心功能圍繞著流量控制和系統保護,主要體現在以下幾個方面:
-
流量控制 (Flow Control):這是 Sentinel 最基本也是最重要的功能。它可以根據預設的規則,限制單位時間內通過的請求數量,防止突發流量沖垮服務。想象一下,如果你的服務每秒只能處理 1000 個請求,但突然涌入了 10000 個請求,Sentinel 就能及時介入,阻止額外的 9000 個請求涌入,從而保護服務不被壓垮。流量控制可以基于 QPS(每秒查詢數)、并發線程數等多種維度進行。
-
熔斷降級 (Circuit Breaking & Degradation):當服務出現故障或響應緩慢時,為了避免故障擴散,Sentinel 會自動觸發熔斷。一旦熔斷,后續對該服務的請求將直接失敗,而不是繼續嘗試,從而給故障服務一個恢復的時間。當服務恢復正常后,熔斷器會自動閉合,恢復正常調用。熔斷降級的策略可以基于響應時間、異常比例等指標進行配置。
<