通过SentinelResource的资源名实现了热点key的热点参数规则(熔断的一种形式)
1、根据资源名(SentinelResource注解中的名称)和参数的位置来进行热点问题的定位
2、代码
@GetMapping("/testHotKey")
@SentinelResource(value = "testHotKey", blockHandler = "deal_testHotKey")
public String testHotKey(@RequestParam(value = "p1", required = false) String p1,
@RequestParam(value = "p2", required = false) String p2) {
return "-------testHotKey";
}
public String deal_testHotKey(String p1, String p2,
BlockException exception) {
return "----deal_testHotKey,o(╥﹏╥)o";
}
3、配置,这里面的参数索引指的是代码中的p1
4、当QPS大于1时,则马上降级处理。热点key的降级必须定义blockHandler兜底方法,否则报异常到页面
未定义blockHandler兜底方法时候的页面返回情况
5、高级选项:对参数索引的某个值进行例外,当p1=5时,QPS限流200
6、