华企号 软件工程 Sentinel热点key

Sentinel热点key

本文是针对热点规则进行配置

 

 

这个就是热点规则的界面,这个是限流规则中非常常用和实用的点,​ ​热点参数限流​​

 

 

其实也就是根据请求所携带的参数进行限流。

测试代码

@GetMapping(“/testHotKey”)
@SentinelResource(value = “testHotKey”,blockHandler = “deal_testHotKey”)
//value 的值不用和访问路径一直,只要保证系统中是惟一的即可
public String testHotKey(@RequestParam(value = “p1”,required = false) String p1,
@RequestParam(value = “p2”,required = false) String p2) {
//int age = 10/0;
return “——testHotKey”;
}

//兜底方法,这里兜底只是负责违背Sentinel控制台配置的规则的兜底,并不负责请求接口中的代码异常情况,如上面代码中注释掉的
public String deal_testHotKey (String p1, String p2, BlockException exception){
return “——deal_testHotKey,o(╥﹏╥)o”;
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
热点规则配置

 

 

设置热点资源为testHotKey,热点参数下标为0,也就是第一个参数p1,阈值是1时间,统计时间窗口为1S访问测试

只要访问请求达到设置的阈值后那么就会进入兜底方法。

 

 

这个请求不进入限制访问:http://localhost:8401/testHotKey?p2=abc

这些请求进入限制访问:http://localhost:8401/testHotKey?p1=abc,http://localhost:8401/testHotKey?p1=abc&p2=33

也就是只要包含第一个参数的那么都将进入现实访问范围参数例外项

 

 

这里也就是当请求参数符合设置的值是可以设置而外的限制规则

 

 

当参数下标为0的值为1的时候,限流阈值为100,当值为2的时候设置限流阈值为200,值为3的时候为300,这里需要注意一下参数类型!那么这就是参数例外项的配置效果!

注意
如果是我们业务代码中异常并不会进入兜底方法,再次强调,@SentinelResource只是管Sentinel控制台配置的规则,并不管我们的业务代码

 

作者: 华企网通王鹏程序员

我是程序员王鹏,热爱互联网软件开发和设计,专注于大数据、数据分析、数据库、php、java、python、scala、k8s、docker等知识总结。 我的座右铭:"业精于勤荒于嬉,行成于思毁于随"
上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部