6.7.2 热点规则

6.7.2 热点规则

热点资源就是在一定时间内访问特别频繁的资源,而某个热点资源可能只是某些参数访问特别频繁;
Sentinel不仅支持以资源为粒度的限制,还可以细化到参数,热点规则就是对具体参数进行限制保护的实现;

新增一个接口: 有两个(非必要)参数

    @RequestMapping("/hotPointTest")
    @SentinelResource(value = "hotPointTest", blockHandler = "hotPointTestHandler")
    public String hotPointTest(@RequestParam(value = "paramOne", required = false) String paramOne, @RequestParam(value = "paramTwo", required = false) String paramTwo) {
        return "return from hotPointTest" + RandomUtils.nextInt();
    }

创建对应的兜底方法:

    public String hotPointTestHandler(String paramOne, String paramTwo, BlockException blockException) {
        return "return from customHotPointTestHandler,paramOne=" + paramOne + ",paramTwo=" + paramTwo + RandomUtils.nextInt();
    }

添加热点规则如下:
我们现在针对的参数索引是0,也就是接口中第一个参数paramOne
在这里插入图片描述
测试:
当请求不带参数,或者只带上参数索引为1的参数paramTwo
http://127.0.0.1:8041/hotPointTest?origin=mobile
http://127.0.0.1:8041/hotPointTest?origin=mobile&paramTwo=%E6%B5%8B%E8%AF%95%E5%8F%82%E6%95%B02
在这里插入图片描述
请求全通过,说明热点规则没有生效。
当请求带上参数索引为0的参数paramOne
http://127.0.0.1:8041/hotPointTest?origin=mobile&paramOne=%E6%B5%8B%E8%AF%95%E5%8F%82%E6%95%B01
在这里插入图片描述
这时候热点规则生效了,因为我们配置的热点规则是针对paramOne这个参数的,只有带上这个参数的时候才会进行流控。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值