您的位置:首页 > 编程语言 > Java开发

Kite的学习历程SpringCloud之Sentinel监控热点规则介绍

2020-07-06 20:25 183 查看

Kite学习历程的第三十天

1. 热点规则

1.1 热点规则介绍

当我们访问次数过多的数据成为热点,这时我们可以通过热点规则对这个访问次数过多的数据进行限流,利于访问地址带上参数p1, p2,这时我们可以通过设置对p1进行数据访问限制

1.2 在cloudalibaba-sentinel-serverice8401中的FlowLimitController类中添加方法

注解:
@SentinelResource(value = “testHotKey”, blockHandler = “deal_testHotKey”) :当出现访问过多,跳转的方法,注意,当出现运行时异常时不进行跳转

@GetMapping("testHotKey")
@SentinelResource(value = "testHotKey", blockHandler = "deal_testHotKey")
public String testHostKey(@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, Last method";
}

1.3 在Sentinel控制台配置热点规则

资源名为:前面 @SentinelResource注解的value值
参数索引0:表示为p1, 如果设置参数索引为1,则表示p2的值
参数例外项:表示当我们对p1进行限流的时候,当其参数值为,下面设置的a时,其限流阀值为200,而不是前面的单机阈值1

1.4 进行访问测试

  1. 首先访问:
    http://localhost:8401/testHotKey
    多次访问界面都为:
  2. 访问:
    http://localhost:8401/testHotKey?p1=b
    当一秒时间中点击的次数大于1时,会出现这个页面
  3. 访问:
    http://localhost:8401/testHotKey?p1=a
    因为设置了p1的值为a的时候为参数例外项,所以多次点击也不是出现last Method方法页面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: