最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Sentinel流控規(guī)則實(shí)現(xiàn)限流保護(hù)詳解

 更新時間:2023年05月20日 10:29:34   作者:小白的救贖  
這篇文章主要介紹了Sentinel流控規(guī)則實(shí)現(xiàn)限流保護(hù),Sentinel是一個分布式系統(tǒng)的流量控制組件,它可以實(shí)現(xiàn)限流,流控,降級等功能,提高系統(tǒng)的穩(wěn)定性和可靠性,感興趣想要詳細(xì)了解可以參考下文

具體啟動Sentinel的步驟可以參考我的上一篇文章。

概念

資源名:唯一名稱,默認(rèn)請求路徑

針對來源:Sentinel可以針對調(diào)用者進(jìn)行限流,填寫微服務(wù)名,默認(rèn)default (不區(qū)分來源)

閱值類型單機(jī)閱值:
        QPS(每秒鐘的請求數(shù)量):當(dāng)調(diào)用該api的QPS達(dá)到值的時候,進(jìn)行限流
        線程數(shù):當(dāng)調(diào)用該api的線程數(shù)達(dá)到闊值的時候,進(jìn)行限流

是否集群:不需要集群

流控模式:
        直接:api達(dá)到限流條件時,直接限流
        關(guān)聯(lián):當(dāng)關(guān)聯(lián)的資源達(dá)到聞值時,就限流自己
        鏈路:只記錄指定鏈路上的流量(指定資源從入口資源進(jìn)來的流量,如果達(dá)到闊值,就進(jìn)行限流)[api級別的針對來源]
流控效果:
        快速失?。褐苯邮?,拋異常
        Warm Up(預(yù)熱):根據(jù)codeFactor (冷加載因子,默認(rèn)3) 的值,從聞值/codeFactor,經(jīng)過預(yù)熱時長,才達(dá)到設(shè)置的QPS閩值
        排隊等待:勻速排隊,讓請求以勻速的速度通過,闊值類型必須設(shè)置為QPS,否則無效

流控規(guī)則

直接(默認(rèn))

控制層方法如下:

@RestController
public class SentinelController {
    @GetMapping("/testA")
    public String testA(){
        return "Sentinel testA run";
    }
    @GetMapping("/testB")
    public String testB(){
        return "Sentinel testB run";
    }
}

QPS+快速失敗

通過地址欄輸入:localhost:8401/testA

測試發(fā)現(xiàn)當(dāng)每秒刷新頁面的次數(shù)大于1則會彈出以下頁面(表示限流),否則正常

線程數(shù)+直接控制

而直接控制的線程數(shù)設(shè)置為1表示如果超過一個頁面訪問此連接那就會限流否則正常。這里就不再對線程數(shù)做測試了

QPS+Warming up

Warm Up(RuleConstant.CONTROL_BEHAVIOR_WARM_UP)方式,即預(yù)熱/冷啟動方式。當(dāng)系統(tǒng)流量長期處于低水位的情況下,當(dāng)流量突然增加時,直接把系統(tǒng)拉升到高水位可能瞬間把系統(tǒng)壓垮。通過"冷啟動",讓通過的流量緩慢增加,在一定時間內(nèi)逐漸增加到閾值上限,給冷系統(tǒng)一個預(yù)熱的時間,避免冷系統(tǒng)被壓垮。

舉例:當(dāng)預(yù)熱時長=8,QPS單機(jī)閾值=3

  • 當(dāng)并發(fā)請求到達(dá)的時候,實(shí)際的單機(jī)閾值是:QPS單機(jī)閾值配置 / coldFactoer= 3 / 3 =1,也就是每秒鐘只能一個請求訪問成功。
  • 預(yù)熱時長為8秒,實(shí)際的單機(jī)閾值在8秒鐘內(nèi)逐步由1 -> 2 -> 3,最終等于QPS單機(jī)閾值配置。
  • 這里有一個注意點(diǎn)是QPS單機(jī)閾值一定要大于或等于3否則會一直請求不成功

QPS+排隊等待

排隊等待方式會嚴(yán)格的控制請求通過的間隔時間,就是讓請求勻速的通過,對應(yīng)的是漏桶算法。

言簡意賅:QPS對應(yīng)每秒處理的線程為1,超時時間表示超過10s則不接受其他線程的請求。也就是說將超時時間(ms) / 單機(jī)閾值(s/個) = 線程通過數(shù)。

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

使用了testA關(guān)聯(lián)testB那么當(dāng)二者其一越界了即二者其一或者觸犯了閾值規(guī)則,那么規(guī)則的時長內(nèi)即QPS內(nèi)testA是無法訪問的,換句通俗易懂的就是:其中一個犯錯,testA就得扛鍋。但要注意的是不是永久失效,只是閾值內(nèi)失效。

鏈路

與關(guān)聯(lián)相反。兩者之一犯錯,那么就是入口資源背鍋。

關(guān)聯(lián)與鏈路的區(qū)別

關(guān)聯(lián):

配置: “查詢訂單” 關(guān)聯(lián) “下單” 接口, 當(dāng)"下單"到達(dá)閾值, 限流"查詢訂單"接口

鏈路:

配置: “查詢訂單”為入口時, 當(dāng)"查詢訂單"到達(dá)閾值時, 限流"查詢訂單"

到此這篇關(guān)于Sentinel流控規(guī)則實(shí)現(xiàn)限流保護(hù)流程詳解的文章就介紹到這了,更多相關(guān)Sentinel流控規(guī)則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 阿里四面之Spring Exception的原理解析

    阿里四面之Spring Exception的原理解析

    本文給大家介紹阿里四面之Spring Exception的原理解析,本文通過錯誤場景分析給大家詳細(xì)介紹Spring異常處理流程,感興趣的朋友一起看看吧
    2021-10-10
  • 關(guān)于Spring源碼是如何解決Bean的循環(huán)依賴

    關(guān)于Spring源碼是如何解決Bean的循環(huán)依賴

    這篇文章主要介紹了關(guān)于Spring源碼是如何解決Bean的循環(huán)依賴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java8?Stream流多字段求和、匯聚的實(shí)例

    Java8?Stream流多字段求和、匯聚的實(shí)例

    這篇文章主要介紹了Java8?Stream流多字段求和、匯聚的實(shí)例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Mybatis加載策略的實(shí)現(xiàn)方法

    Mybatis加載策略的實(shí)現(xiàn)方法

    Mybatis中一對一,一對多,多對多關(guān)系的配置及實(shí)現(xiàn),可以實(shí)現(xiàn)對象的關(guān)聯(lián)查詢。實(shí)際開發(fā)過程中很多時候我們并不需要總是在加載用戶信息時就一定要加載他的訂單信息,這是就是我們常說的延時加載,本文給大家詳細(xì)介紹實(shí)現(xiàn)方法,一起看看吧
    2022-02-02
  • SpringBoot如何將applicaton.properties中的數(shù)據(jù)綁定到bean中

    SpringBoot如何將applicaton.properties中的數(shù)據(jù)綁定到bean中

    SpringBoot中我們該如何將applicaton.properties中的數(shù)據(jù)綁定到bean中呢?在之間我們是可以通過@value注解,在SpringBoot自動啟動后,會自動的去相應(yīng)的路徑中去尋找applicaton.properties配置文件,然后將相應(yīng)的值賦值上,感興趣的朋友一起看看吧
    2025-05-05
  • JAVA中使用JSON進(jìn)行數(shù)據(jù)傳遞示例

    JAVA中使用JSON進(jìn)行數(shù)據(jù)傳遞示例

    本篇文章主要介紹了JAVA中使用JSON進(jìn)行數(shù)據(jù)傳遞示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • MySqlConnector的使用教程

    MySqlConnector的使用教程

    本文詳細(xì)介紹了MySqlConnector的核心功能,包括數(shù)據(jù)變更捕獲、KafkaConnect兼容性、配置管理、版本信息、連接器任務(wù)創(chuàng)建、配置驗證、數(shù)據(jù)庫連接建立和連接器配置創(chuàng)建等,感興趣的可以了解一下
    2024-10-10
  • java接口中的代理設(shè)計模式代碼時實(shí)踐

    java接口中的代理設(shè)計模式代碼時實(shí)踐

    這篇文章主要介紹了java接口中的代理設(shè)計模式代碼時實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 幾道常問Redis面試題,你能答對嗎?

    幾道常問Redis面試題,你能答對嗎?

    在程序員面試過程中redis相關(guān)的知識是常被問到的話題。這篇文章主要介紹了13道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 計算兩個字符串最大公有子串

    計算兩個字符串最大公有子串

    本文主要介紹了計算兩個字符串最大公有子串的解決方案。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論

仁寿县| 海晏县| 苏尼特左旗| 六枝特区| 黔西| 龙里县| 绿春县| 施秉县| 嵊泗县| 同德县| 福州市| 安多县| 上犹县| 承德市| 资溪县| 昌都县| 新营市| 赤水市| 河北区| 大丰市| 潮州市| 玉龙| 枣强县| 金山区| 兴国县| 呈贡县| 岳普湖县| 钟山县| 阿拉善右旗| 聂拉木县| 临江市| 灯塔市| 浦江县| 黎城县| 西丰县| 贵南县| 黔东| 内江市| 南乐县| 永清县| 来宾市|