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

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

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

具體啟動(dòng)Sentinel的步驟可以參考我的上一篇文章。

概念

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

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

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

是否集群:不需要集群

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

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

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

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

QPS+Warming up

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

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

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

QPS+排隊(duì)等待

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

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

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

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

鏈路

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

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

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

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

鏈路:

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    SpringBoot中我們?cè)撊绾螌pplicaton.properties中的數(shù)據(jù)綁定到bean中呢?在之間我們是可以通過@value注解,在SpringBoot自動(dòng)啟動(dòng)后,會(huì)自動(dòng)的去相應(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ù)傳遞示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • MySqlConnector的使用教程

    MySqlConnector的使用教程

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

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

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

    幾道常問Redis面試題,你能答對(duì)嗎?

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

    計(jì)算兩個(gè)字符串最大公有子串

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

最新評(píng)論

渝中区| 花莲县| 信宜市| 同江市| 京山县| 成都市| 尼玛县| 澎湖县| 屯留县| 奉化市| 上蔡县| 靖西县| 班戈县| 广州市| 石门县| 上林县| 夏邑县| 襄樊市| 鹤峰县| 龙南县| 肥西县| 普陀区| 太保市| 西昌市| 武义县| 鄢陵县| 汾阳市| 天峨县| 四子王旗| 灌南县| 深州市| 和政县| 甘孜县| 房山区| 丰顺县| 宁安市| 崇左市| 通辽市| 博罗县| 库车县| 黎川县|