当前位置:网站首页>Sentinel热门词汇限流如何实现
Sentinel热门词汇限流如何实现
2022-07-29 15:46:00 【亿速云】
Sentinel热门词汇限流如何实现
本文小编为大家详细介绍“Sentinel热门词汇限流如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Sentinel热门词汇限流如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
热点参数限流
何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:
商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制
用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制
热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生效。

基本使用
1、引入maven依赖
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-parameter-flow-control</artifactId> <version>x.y.z</version></dependency>
2、手动编写代码添加限流规则
@RequestMapping("/getUserOrder")public String getUserOrder(Long userId) { Entry entry = null; try { entry = SphU.entry(getUserOrder, EntryType.IN, 1, userId); return "根据userId获取用户订单信息成功"; } catch (Exception e) { return "您操作的比较频繁,请稍后重试!"; } finally { if (entry != null) { entry.exit(); } }}// 定义热点限流的规则,对第一个参数设置 qps 限流模式,阈值为1ParamFlowRule rule = new ParamFlowRule(getUserOrder) .setParamIdx(0) .setGrade(RuleConstant.FLOW_GRADE_QPS) .setCount(1);ParamFlowRuleManager.loadRules(Collections.singletonList(rule));或者使用控制台形式添加热词限流规则
正常编写Java接口
@RequestMapping("/getUserOrder")@SentinelResource(value = "getUserOrder")public String getUserOrder(Long userId) { return "根据userId获取用户订单信息成功";}
索引名:参数下表从 0 开始
单机阈值:单机部署时在统计时间内可以访问多少次
统计窗口时长:统计热词的时间
可以给指定的参数额外设定阈值:例如:VIP用户拥有特定的标识,判断为VIP用户时,可以请求接口的次数增加。

读到这里,这篇“Sentinel热门词汇限流如何实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
边栏推荐
- Hystri基本介绍和代码简单实现
- MLX90640 infrared thermal imager development notes (9)
- Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation
- Recommended Remote Desktop Tools
- string 保留小数点后两位(js中保留小数点后两位)
- Twin all things digital visual | join the real world and the digital space
- 如何破坏单例?我说了好几种方式,面试官:没想到你真会
- Practice of Weibo Advertising Operation and Maintenance Technology Supporting Ten Billions of Requests
- package-lock.json 有什么作用,如果项目中没有它会怎么样,举例说明
- 蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修 30 天,挺进京东
猜你喜欢

ByteArrayOutputStream 类源码分析

【服务器存储数据恢复】华为OceanStor某型号存储raid5硬盘故障离线,热备盘同步数据失败导致raid崩溃的数据恢复案例

图文结合纯c手写内存池
如何破坏单例?我说了好几种方式,面试官:没想到你真会

【Go语言刷题篇】Go完结篇函数、结构体、接口、错误入门学习

微信公众号借助小程序云函数实现支付功能

Detailed evaluation of Renesas RZ/G2L processor

AI全流程开发难题破解之钥

大规模线上应用TiDB会遇到的坑,本文都帮你排除好了

【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI
随机推荐
虚拟远程桌面
【软考软件评测师】自动化测试章节上篇
生产者消费代码
Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation
linux 安装mysql8.0 超详细教程(实战多次)
店铺信息管理系统
半导体行业集团采购管理系统:简化企业采购流程,以数字化畅通采购信息渠道
浏览器线程
使用DataEase开源工具制作一个高质量的数据大屏
揭秘 | 2019 To B 年度盛宴那些人和那些事
Altair SimSolid complex assembly meshless rapid structure simulation online seminars
兆易创新2021年将从长鑫存储采购3亿美元DRAM产品
最新!多交的税可以退,同学,你今天退税了吗?
ByteArrayOutputStream 类源码分析
uni-app进阶之Weex/nvu
一文参透分布式存储系统Ceph的架构设计、集群搭建(手把手)
MySQL数据库————数据库语言(DDL与DML)
【微信小程序】组件使用及属性参考
Moving forward steadily without forgetting the original intention, Volvo's sense of security comes from the public's recognition
Detailed evaluation of Renesas RZ/G2L processor