開源最前線(ID:OpenSourceTop) 猿妹 整編
來源:阿裡巴巴中介軟體、GitHub等
近日,阿裡巴巴中介軟體團隊宣佈開源 Sentinel,併發布了首個社群版本 v0.1.0。
Sentinel 作為阿裡巴巴“大中臺、小前臺”架構中的基礎模組,改寫了阿裡的所有核心場景,因此積累了大量的流量歸整場景以及生產實踐。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。(GitHub地址:https://github.com/alibaba/Sentinel)
Sentinel 是什麼?
隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
Sentinel 具有以下特徵:
豐富的應用場景: Sentinel承接了阿裡巴巴近10年的雙十一大促流量的核心場景,例如秒殺,即突發流量控制在系統容量可以承受的範圍;訊息削峰填谷;實時熔斷下游不可用應用,等等。
完備的監控功能: Sentinel同時提供最實時的監控功能,您可以在控制臺中看到接入應用的單臺機器秒級資料,甚至 500 臺以下規模的叢集的彙總執行情況。
簡單易用的擴充套件點: Sentinel提供簡單易用的擴充套件點,您可以透過實現擴充套件點,快速的定製邏輯。例如定製規則管理,適配資料源等。
Sentinel能解決什麼
限流:Sentinel提供了兩種流量統計方式,一種是統計併發執行緒數,另外一種則是統計 QPS,當併發執行緒數超出某個設定的閥值,新的請求會被立即拒絕,當QPS超出某個設定的閥值,系統可以透過直接拒絕、冷啟動、勻速器三種方式來應對,從而起流量控制的作用。
熔斷降級:Sentinel透過併發執行緒數進行限制和響應時間對資源進行降級兩種手段來對服務進行熔斷或降級。
塑形:Sentinel透過資源的呼叫關係、執行指標、控制的效果三個維度來對流量進行控制,開發者可以自行靈活組合,從而達到理想的效果。
系統負載保護:Sentinel在系統負載保護方面的判斷機制是根據系統能夠處理的請求,和允許進來的請求,來做平衡,而不是根據一個間接的指標(系統load)來做限流。
Sentinel 有什麼特性?
輕巧:對效能影響小和對應用零入侵。除了對效能的影響要最佳化到最低以外,還有一個特徵,就是需要保證他對應用的零入侵。
專業:Sentinel提供了一個靈活的框架,從不同的維度出發,開發者可以根據自身的場景去制定自己的限流策略。
實時監控:透過Sentinel的實時監控功能,運維人員可以根據實際流量情況,採取不同的措施,限流、降級、塑形、系統保護
目前,開發團隊已經把 Sentinel 的配接器捐給了Dubbo,如果開發者接入了Dubbo Sentinel,就能立即實現實時秒級監控的功能。這個監控提供單機鏈路維度和單機平鋪維度,還提供彙總維度的監控。非常方便。
Sentinel的理念是無縫對接Dubbo大生態,和Dubbo、Nacos等阿裡中介軟體開源產品緊密結合,支援一鍵使用,並且全面擁抱開源生態,例如會對grpc ,Rest Service主流框架進行積極適配並開放出來,同時提供一系列API給到開發者,用於定製自己的需求。
●本文編號755,輸入編號直達本文
●輸入m獲取文章目錄