所屬領域:
微服務
|名詞定義|
Sentinel 是阿裡巴巴開源,面向分布式付五架構的輕量級流量控制元件。在微服務中,服務的調用一般分為Consumer和Provoder,在使用過程中,我們需要對Provoder進性限流保護,來保證不會被過快的調用或者流量激增所打垮,我們可以配置QPS模式的限流,來讓多餘的流量直接拒絕,同時我們也可以對Provider進性授權保護(不受信任的應用直接拒絕),系統保護(Load超出門檻值停止服務),熱點保護(增強闆的限流保護)
|發展曆程 |
2012 年,Sentinel 誕生,主要功能為入口流量控制。
2013-2017 年,Sentinel 在阿裡巴巴集團内部迅速發展,成為基礎技術子產品,覆寫了所有的核心場景。Sentinel 也是以積累了大量的流量歸整場景以及生産實踐。
2018 年,Sentinel 開源。
|技術特點 |
1、 限流(把服務的kbs每秒鐘的請求量限制到某個域當中,保證我們的服務不被突然的打垮)
2、 流量整形(流量是随機的、不均勻的、不可預測的,我們需要把突然的流量調整到合适的形狀,比如說我們希望某一刻的流量是勻速通過的或者我們希望流量是緩慢增加,而不是突然一下子達到門檻值,此時我們需要進性流量整形)
3、 熔斷降級(保證自己不被原程的不穩定情況拖垮,及時熔斷這些不穩定服務避免接連失敗導緻的雪崩)
4、 系統自适應保護(結合系統的CPU使用率、總QPS等時時名額來保障整個系統的流量不被打垮,同時有最大限度的使用系統的吞吐量)
5、 多樣化的流量控制場景
|使用場景|
1、 啟動控制台(下載下傳控制台jar包,設定啟動參數并啟動,通路控制台)
2、 Spring Cloud Web 應用接入(引入依賴,通過Spring配置檔案配置Sentinel相關參數)
3、 Spring Cloud Gateway 網關接入
4、 Dubbo服務接入
5、 手動埋點
|資料來源|
阿裡雲大學視訊
https://developer.aliyun.com/edu/course/1943/learn#lesson/16989CSDN-