0
点赞
收藏
分享

微信扫一扫

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流


手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_限流

文章目录

  • ​​1、何为热点​​
  • ​​2、基本使用1​​
  • ​​3、基本使用2​​

1、何为热点

热点就是经常访问的数据,我们通常希望对某个访问次数最高的热点数据进行限制。

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_数据_02

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_数据_03


Sentinel 利用 LRU 策略统计最近最常访问的热点参数,结合令牌桶算法来进行参数级别的流控。



2、基本使用1

@SentinelResource注解的作用是对热点数据进行限流,一般是某个参数的访问量违背了控制台设置的阈值,开始对其进行限流。

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_sentinel_04

@GetMapping("/hotkey")
@SentinelResource(value = "hotkey", blockHandler = "default_hotKey")
public String hotKey(@RequestParam(value = "param1",required = false)String param1, @RequestParam(value = "param2",required = false)String param2) {
return "正常数据->hotKey!";
}
public String default_hotKey(String param1, String param2, BlockException exception) {
return "默认数据->default_hotKey!";
}

这段代码定义了两个参数param1和param2,但都是可传可不传(required=false),blockHandler就是限流之后走的路线。

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_数据_05


手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_限流_06

访问手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_限流_07

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_访问量_08


由于我设置的阈值为QPS=1,所以当我访问超过这个阈值时

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_限流_09

但当你随便访问param2是,没有任何影响

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_访问量_10

3、基本使用2

我们可能想要对某个参数的数据进行提高阈值

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_访问量_11


手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_sentinel_12


手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_访问量_13


如果param1=good,由于QPS=50,即使很快的刷新浏览器也难以被限流

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_数据_14


手把手带你领略双十一背后的核心技术Sentinel之热点参数限流_数据_15


举报

相关推荐

0 条评论