Sentinel系統(tǒng)自適應(yīng)限流

官方文檔

https://github.com/alibaba/Sentinel/wiki/%E7%B3%BB%E7%BB%9F%E8%87%AA%E9%80%82%E5%BA%94%E9%99%90%E6%B5%81

系統(tǒng)自適應(yīng)限流

image.png

Sentinel 系統(tǒng)自適應(yīng)限流從整體維度對應(yīng)用入口流量進行控制,結(jié)合應(yīng)用的 Load、CPU 使用率、總體平均 RT、入口 QPS 和并發(fā)線程數(shù)等幾個維度的監(jiān)控指標,通過自適應(yīng)的流控策略,讓系統(tǒng)的入口流量和系統(tǒng)的負載達到一個平衡,讓系統(tǒng)盡可能跑在最大吞吐量的同時保證系統(tǒng)整體的穩(wěn)定性。

系統(tǒng)規(guī)則是針對應(yīng)用整體維度的,而不是資源維度的,并且僅對入口流量生效,入口流量指的是進入應(yīng)用的流量(EntryType.IN),比如Web服務(wù)或Dubbo服務(wù)端接收的請求都屬于入口流量。

流控規(guī)則,熱點規(guī)則以及系統(tǒng)規(guī)則,主要區(qū)分在于粒度的大小。系統(tǒng)規(guī)則針對的是整個應(yīng)用的入口流量,流控規(guī)則則是針對應(yīng)用的資源(API),而熱點規(guī)則針對的是更細粒度的資源(API)請求的參數(shù)。

系統(tǒng)規(guī)則支持五種模式

  • Load自適應(yīng)(僅對 Linux/Unix-like 機器生效):系統(tǒng)的 load1 作為啟發(fā)指標,進行自適應(yīng)系統(tǒng)保護。當系統(tǒng) load1 超過設(shè)定的啟發(fā)值,且系統(tǒng)當前的并發(fā)線程數(shù)超過估算的系統(tǒng)容量時才會觸發(fā)系統(tǒng)保護(BBR 階段)。系統(tǒng)容量由系統(tǒng)的 maxQps * minRt 估算得出。設(shè)定參考值一般是 CPU cores * 2.5。

  • CPU usage(1.5.0+ 版本):當系統(tǒng) CPU 使用率超過閾值即觸發(fā)系統(tǒng)保護(取值范圍 0.0-1.0),比較靈敏。

  • 平均 RT:當單臺機器上所有入口流量的平均 RT 達到閾值即觸發(fā)系統(tǒng)保護,單位是毫秒。

  • 并發(fā)線程數(shù):當單臺機器上所有入口流量的并發(fā)線程數(shù)達到閾值即觸發(fā)系統(tǒng)保護。

  • 入口 QPS:當單臺機器上所有入口流量的 QPS 達到閾值即觸發(fā)系統(tǒng)保護。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容