美文网首页
Sentinel热点key

Sentinel热点key

作者: Shaw_Young | 来源:发表于2020-08-23 11:59 被阅读0次

是什么?

何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:

  • 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制
  • 用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制

热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生效。
Sentinel 利用 LRU 策略统计最近最常访问的热点参数,结合令牌桶算法来进行参数级别的流控。热点参数限流支持集群模式。

代码

com.alibaba.csp.sentinel.slots.block.BlockException

配置

@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";
}

参数例外项

我们期望p1参数当它是某个特殊值时,它的限流值和平时不一样,假如当p1的值等于5时,它的阈值可以达到200




当p1等于5的时候,阈值变为200
当p1不等于5的时候,阈值就是平常的1

Tips:
@SentinelResource
处理的是Sentinel控制台配置的违规情况,有blockHandler方法配置的兜底处理

相关文章

  • Sentinel热点key

    是什么? 何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对...

  • sentinel结合dubbo进行热点参数(用户ID)限流

    sentinel结合dubbo进行热点参数限流 (1)dubbo中接入sentinel 方法: (1)只需要在po...

  • redis缓存使用中的热key问题

    何为热key问题? 在Redis中,访问频率高的key称为热点key,当某一热点key的请求到Server主机时,...

  • Sentinel热点参数验证

    一、热点 热点就是访问非常频繁的参数,例如商城系统中首页的数据;热点参数就比如是商城系统商品的id。那么 Sent...

  • Sentinel热点参数限流

    官方地址文档[https://github.com/alibaba/Sentinel/wiki/%E7%83%AD...

  • Redis - 热点key

    Redis - 热点key 热key问题描述 热key问题就是突然有几十万的请求去访问redis上的某个特定key...

  • Sentinel的熔断降级策略

    上一篇 << >>Sentinel的热点词限流[https://www.jianshu.com/p/f543059...

  • Redis实践

    1. 热点key问题 背景 热点key会将请求全部打在一个节点上,容易造成性能瓶颈;需要设计一种方式主动发现热点k...

  • Sentinel | 热点规则 | 系统规则

    热点 热点就是经常访问的数据; 比如商品接口的 QPS 限定的是 100,有一天要秒杀,带着秒杀商品 id 的请求...

  • Sentinel 热点参数限流原理

    何为热点 热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行...

网友评论

      本文标题:Sentinel热点key

      本文链接:https://www.haomeiwen.com/subject/gauldktx.html