前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sentinel热点key

sentinel热点key

作者头像
DencyCheng
发布2020-12-11 15:42:13
8110
发布2020-12-11 15:42:13
举报
文章被收录于专栏:SpringBoot

官方地址:https://github.com/alibaba/Sentinel/wiki/热点参数限流

场景:何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:

  • 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制
  • 用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制

1.创建方法

代码语言:javascript
复制
@GetMapping("/testC")
@SentinelResource(value = "testC",fallback = "testCFallkack")
public String testC(@RequestParam(required = false,name = "a") Integer a,@RequestParam(required = false,name = "b") Integer b) {
    return "------testC,a="+a+",b"+b;
}

public String testCFallkack(Integer a,Integer b){
    return "太拥挤了。。。,稍等在试一下";
}

2.创建热点key规则

2.1根据参数索引添加限制

效果:

  • 当访问url为url/testC?a=1的时候,访问过快则进行服务降级。返回:太拥挤了。。。,稍等在试一下
  • 当访问url为url/testC?b=1的时候,访问多块都没限制

2.2根据参数索引并针对特殊参数值添加特定限制

说明:当参数a有值并且参数值不为2的时候,用的是上面的规则,也就是qps为1,当参数为2的时候,那么qps就是100

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.创建方法
    • 2.创建热点key规则
      • 2.1根据参数索引添加限制
        • 效果:
          • 2.2根据参数索引并针对特殊参数值添加特定限制
            • 说明:当参数a有值并且参数值不为2的时候,用的是上面的规则,也就是qps为1,当参数为2的时候,那么qps就是100
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档