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

Sentinel熱門詞匯限流的實現(xiàn)詳解

 更新時間:2022年07月29日 10:00:59   作者:kaico2018  
這篇文章主要介紹了使用Sentinel對熱門詞匯進行限流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

熱點參數(shù)限流

何為熱點?熱點即經(jīng)常訪問的數(shù)據(jù)。很多時候我們希望統(tǒng)計某個熱點數(shù)據(jù)中訪問頻次最高的 Top K 數(shù)據(jù),并對其訪問進行限制。比如:

  • 商品 ID 為參數(shù),統(tǒng)計一段時間內(nèi)最常購買的商品 ID 并進行限制
  • 用戶 ID 為參數(shù),針對一段時間內(nèi)頻繁訪問的用戶 ID 進行限制

熱點參數(shù)限流會統(tǒng)計傳入?yún)?shù)中的熱點參數(shù),并根據(jù)配置的限流閾值與模式,對包含熱點參數(shù)的資源調(diào)用進行限流。熱點參數(shù)限流可以看做是一種特殊的流量控制,僅對包含熱點參數(shù)的資源調(diào)用生效。

基本使用

1、引入maven依賴

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-parameter-flow-control</artifactId>
    <version>x.y.z</version>
</dependency>

2、手動編寫代碼添加限流規(guī)則

@RequestMapping("/getUserOrder")
public String getUserOrder(Long userId) {
    Entry entry = null;
    try {
        entry = SphU.entry(getUserOrder, EntryType.IN, 1, userId);
        return "根據(jù)userId獲取用戶訂單信息成功";
    } catch (Exception e) {
        return "您操作的比較頻繁,請稍后重試!";
    } finally {
        if (entry != null) {
            entry.exit();
        }
    }
}
// 定義熱點限流的規(guī)則,對第一個參數(shù)設(shè)置 qps 限流模式,閾值為1
ParamFlowRule rule = new ParamFlowRule(getUserOrder)
        .setParamIdx(0)
        .setGrade(RuleConstant.FLOW_GRADE_QPS)
        .setCount(1);
ParamFlowRuleManager.loadRules(Collections.singletonList(rule));

或者使用控制臺形式添加熱詞限流規(guī)則

正常編寫Java接口

@RequestMapping("/getUserOrder")
@SentinelResource(value = "getUserOrder")
public String getUserOrder(Long userId) {
    return "根據(jù)userId獲取用戶訂單信息成功";
}

索引名:參數(shù)下表從 0 開始

單機閾值:單機部署時在統(tǒng)計時間內(nèi)可以訪問多少次

統(tǒng)計窗口時長:統(tǒng)計熱詞的時間

可以給指定的參數(shù)額外設(shè)定閾值:例如:VIP用戶擁有特定的標識,判斷為VIP用戶時,可以請求接口的次數(shù)增加。

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

相關(guān)文章

  • 將內(nèi)容寫到txt文檔里面并讀取及刪除的方法

    將內(nèi)容寫到txt文檔里面并讀取及刪除的方法

    本文有個不錯的示例,主要講解如何將內(nèi)容寫到txt文檔里面、讀取文件里面的內(nèi)容以及清除txt文件里面的內(nèi)容
    2014-01-01
  • springboot的類加載器(org.springframework.boot.loader)過程詳解

    springboot的類加載器(org.springframework.boot.loader)過程詳解

    這篇文章主要介紹了springboot的類加載器(org.springframework.boot.loader),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • java解析xml匯總_動力節(jié)點Java學院整理

    java解析xml匯總_動力節(jié)點Java學院整理

    這篇文章主要介紹了java解析xml匯總_動力節(jié)點Java學院整理的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • JavaWeb實現(xiàn)郵件發(fā)送功能

    JavaWeb實現(xiàn)郵件發(fā)送功能

    這篇文章主要為大家詳細介紹了JavaWeb實現(xiàn)郵件發(fā)送功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Java如何自動生成api文檔

    Java如何自動生成api文檔

    在?Java?開發(fā)中,自動生成?API?文檔是一項非常實用的功能,這篇為大家介紹了幾種常見的?Java?自動生成?API?文檔的方式,需要的可以參考一下
    2025-02-02
  • Django之多對多查詢與操作方法詳解

    Django之多對多查詢與操作方法詳解

    這篇文章主要介紹了Django之多對多查詢與操作方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 深入淺出理解Java Lambda表達式之四大核心函數(shù)式的用法與范例

    深入淺出理解Java Lambda表達式之四大核心函數(shù)式的用法與范例

    Lambda 表達式,也可稱為閉包,它是推動 Java 8 發(fā)布的最重要新特性。Lambda 允許把函數(shù)作為一個方法的參數(shù)(函數(shù)作為參數(shù)傳遞進方法中)。使用 Lambda 表達式可以使代碼變的更加簡潔緊湊,今天小編帶你理解Lambda表達式之四大核心函數(shù)式的用法,感興趣的朋友快來看看吧
    2021-11-11
  • Java多線程狀態(tài)及方法實例解析

    Java多線程狀態(tài)及方法實例解析

    這篇文章主要介紹了Java多線程狀態(tài)及方法實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java中的ThreadLocal線程池原理

    Java中的ThreadLocal線程池原理

    這篇文章主要介紹了Java中的ThreadLocal線程池原理,ThreadLocal提供了線程的局部變量(或本地變量),它可以保證訪問到的變量屬于當前線程,每個訪問這種變量的線程(通過它的get或set方法)都有自己的、獨立初始化的變量副本,需要的朋友可以參考下
    2023-11-11
  • springboot 整合fluent mybatis的過程,看這篇夠了

    springboot 整合fluent mybatis的過程,看這篇夠了

    這篇文章主要介紹了springboot 整合fluent mybatis的過程,配置數(shù)據(jù)庫連接創(chuàng)建數(shù)據(jù)庫的詳細代碼,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2021-08-08

最新評論

抚远县| 鲁甸县| 金坛市| 吐鲁番市| 黔江区| 宣城市| 宣城市| 毕节市| 仪征市| 兴安盟| 泸溪县| 乌拉特中旗| 商丘市| 措勤县| 屏南县| 苏尼特右旗| 宁津县| 奉节县| 兰考县| 那曲县| 南投市| 固镇县| 县级市| 新郑市| 许昌市| 海林市| 嘉定区| 垣曲县| 康马县| 呈贡县| 横峰县| 清流县| 察雅县| 陕西省| 丰镇市| 邵东县| 辽宁省| 松潘县| 乐东| 普兰县| 库尔勒市|