Springcloud—B站学习总结—Springcloud Alibaba—Sentinel热点key限流
热点限流规则简介
由图片可知,热点限流模式仅支持QPS模式
官网介绍
何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。
例子:
//通过rest风格的url,针对url的参数进行限流,比如针对p1限流,认为p1是热点参数,将其限流,
//如果是其他参数,将不会限流
localhost:8080/test?p1=1
以前Hystrix有的兜底方法
结论:从@HystrixCommand到@SentinelResource
热点限流是通过这个类来进行包装,属于底层代码
例子:
@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)
{
//int age = 10/0;
return "------testHotKey";
}
public String deal_testHotKey (String p1, String p2, BlockException exception)
{
//sentinel系统默认的提示:Blocked by Sentinel (flow limiting)
return "------deal_testHotKey,o(╥﹏╥)o";
}
第一种热点限流注解写法
第二种热点限流注解写法
推荐:第一种热点限流注解写法
热点限流配置—》参数例外项
特例情况
配置图例
配置细节
前提条件: