SpringCloud(38)——Sentinel流控

在sentinel控制臺的簇點鏈路里可以看到我們監(jiān)控的請求,而針對每個請求又有不同的操作谓娃,分別是流控、降級蜒滩、熱點滨达、授權(quán)。

image.png

接下來我們了解流控的部分俯艰。
點擊新增流控可以看到如下頁面捡遍。

image.png

新增流控就是要配置流控規(guī)則。
那么什么是流控規(guī)則呢竹握?

1.流控規(guī)則

流量控制画株,其原理是監(jiān)控應(yīng)用流量得QPS或并發(fā)線程數(shù)等指標(biāo),當(dāng)達到指定閾值時對流量進行控制,以避免被瞬時的流量高峰沖垮污秆,從而保障應(yīng)怡紅的高可用性劈猪。
官網(wǎng)給出的詳細流控規(guī)則文檔:https://github.com/alibaba/Sentinel/wiki/%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6
下面是我自己整理的一部分:

  • 資源名:唯一名稱,默認請求路徑
  • 針對來源:Sentinel可以針對調(diào)用者進行限流良拼,填寫微服務(wù)名战得,默認default(不區(qū)分來源)
  • 閾值類型/單機閾值
    • QPS(每秒鐘請求數(shù)量):當(dāng)調(diào)用該api的QPS達到閾值的時候進行限流。
    • 線程數(shù):當(dāng)調(diào)用該api的線程數(shù)達到閾值的時候進行限流
  • 是否集群:不需要集群
  • 流控模式:
    • 直接:api達到限流條件時直接限流
    • 關(guān)聯(lián):當(dāng)關(guān)聯(lián)的資源達到閾值時庸推,就限流自己
    • 鏈路:只記錄指定鏈路上的額流量(指定資源從入口資源進來的流量常侦,如果達到閾值,就進行限流)
  • 流控效果:
    • 快速失敱崦健:直接失敗聋亡,拋異常
    • Warm Up:根據(jù)codeFactor(冷加載因子,默認3)的值际乘,從閾值/codeFactor坡倔,經(jīng)過預(yù)熱時長,才達到設(shè)置的QPS閾值
    • 排隊等待:勻速派對脖含,讓請求以勻速的速度通過罪塔,閾值類型必須設(shè)置為QPS,否則無效

2.QPS直接失敗

接下來我們給A請求新增一個QPS直接失敗的規(guī)則

image.png

我們設(shè)置的閾值是1养葵,意思是當(dāng)每秒請求數(shù)大于1的時候就會觸發(fā)流控征堪。

image.png

新增好后可以在流控規(guī)則的菜單里看到我們剛剛新增的。
接下來我們測試一下关拒。

慢一點發(fā)送請求的時候是正常的

image.png

一直點的時候就會觸發(fā)流控了

image.png

這就說明我們QPS的限流配置成功了

3.線程數(shù)直接失敗

我們直接修改剛剛的流控規(guī)則就可以了

image.png

接下來我們要稍微修改一下controller里的代碼佃蚜,因為流控判斷的標(biāo)準是線程數(shù),我們要模擬多個線程處理的話最好讓線程睡上兩秒鐘

image.png

接下來我們繼續(xù)測試着绊,注意我們這次開兩個窗口來發(fā)送請求谐算,那么一定有一個成功了一個沒成功。

image.png
image.png

可以看到我們線程數(shù)的規(guī)則也生效了畔柔。

4.關(guān)聯(lián)

由于微服務(wù)系統(tǒng)中各個服務(wù)之間是互相調(diào)用的氯夷,如果A服務(wù)要請求B服務(wù),那么當(dāng)A服務(wù)達到流控閾值的時候靶擦,B服務(wù)也應(yīng)該無法訪問腮考。
比如,一個場景玄捕,需要我們先下單再支付踩蔚,那么如果訂單服務(wù)掛掉了,就不允許請求再發(fā)往支付服務(wù)了枚粘。

我們再編輯一下流控規(guī)則(QPS和線程數(shù)的效果是一樣的馅闽,我就都用QPS來測試了)

image.png

接下來我們用postman來循環(huán)發(fā)送請求B。如果規(guī)則生效的話,那么我們的A就訪問不了了福也。

image.png

我們設(shè)置循環(huán)20此局骤,每次間隔0.3秒,因為B請求沒有設(shè)置限流規(guī)則暴凑,因此是不會被限流的峦甩。
在循環(huán)的過程中我們來觀察A請求。

image.png

我們可以看到A請求失敗了现喳,因為我們設(shè)置了A和B請求的關(guān)聯(lián)規(guī)則

5.預(yù)熱

首先來看官方文檔解釋的預(yù)熱

image.png

什么意思呢凯傲?
比如秒殺場景、整點搶購場景嗦篱,原來的系統(tǒng)處于平穩(wěn)狀態(tài)冰单,不會有那么多的流量,而一旦活動開始了灸促,巨大的流量突然涌向系統(tǒng)诫欠,容易導(dǎo)致系統(tǒng)癱瘓,這時候可以使用我們的預(yù)熱機制把流量慢慢的放進來腿宰,慢慢延長閾值呕诉。

公式:閾值初一coldFactory(默認值是3)缘厢,經(jīng)過預(yù)熱時長后才會達到閾值吃度。

那么接下來我再新增一個預(yù)熱的流控規(guī)則

image.png

這個規(guī)則的意思是:默認coldFactor為3,即請求QPS從(threshole/3)開始贴硫,經(jīng)過預(yù)熱時長逐漸升至設(shè)定的QPS閾值椿每。
也就是說系統(tǒng)初始化的閾值為10/3約等于3;然后經(jīng)過5s后閾值才慢慢提升至10英遭。

我們只要在瀏覽器訪問該接口一直刷新就可以看到效果了间护。

6.勻速排隊

image.png

也就是說讓系統(tǒng)勻速處理請求,而不是忙的時候忙死挖诸,閑的時候閑死汁尺。

接下來我們再編輯一下流控規(guī)則

image.png

我們再用postman循環(huán)發(fā)送請求也是可以測出來的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末多律,一起剝皮案震驚了整個濱河市痴突,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狼荞,老刑警劉巖辽装,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異相味,居然都是意外死亡拾积,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拓巧,“玉大人斯碌,你說我怎么就攤上這事「囟龋” “怎么了输拇?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贤斜。 經(jīng)常有香客問我策吠,道長,這世上最難降的妖魔是什么瘩绒? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任猴抹,我火速辦了婚禮,結(jié)果婚禮上锁荔,老公的妹妹穿的比我還像新娘蟀给。我一直安慰自己,他們只是感情好阳堕,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布跋理。 她就那樣靜靜地躺著,像睡著了一般恬总。 火紅的嫁衣襯著肌膚如雪前普。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天壹堰,我揣著相機與錄音拭卿,去河邊找鬼。 笑死贱纠,一個胖子當(dāng)著我的面吹牛峻厚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谆焊,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼惠桃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辖试?” 一聲冷哼從身側(cè)響起辜王,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎剃执,沒想到半個月后誓禁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡肾档,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年摹恰,在試婚紗的時候發(fā)現(xiàn)自己被綠了辫继。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡俗慈,死狀恐怖姑宽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闺阱,我是刑警寧澤炮车,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站酣溃,受9級特大地震影響瘦穆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赊豌,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一扛或、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碘饼,春花似錦熙兔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钠绍,卻和暖如春舆声,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背五慈。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工纳寂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泻拦。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像忽媒,于是被迫代替她去往敵國和親争拐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容