Sentinel 热点规则

文章目录

Sentinel 热点规则

基于 spring-cloud-demo · order-service · Boot 4.1.0 + Cloud 2025.1.2


一、依赖与接入

xml 复制代码
<!-- Sentinel 客户端,含热点参数限流 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
yaml 复制代码
spring:
  cloud:
    sentinel:
      transport:
        dashboard: 127.0.0.1:8100 # 控制台

二、热点规则是什么

按 方法参数的取值 分别限流:每个参数值独立计数。

例:打完比赛,所有人查第一名是谁,第一名的访问量巨大


三、控制台参数字段(完整)

控制台字段 JSON 字段 说明
资源名 resource 与簇点链路一致
限流模式 grade 一般为 QPS(1)
参数索引 paramIdx 从 0 开始,对应方法第几个参数
单机阈值 count 未配置例外的参数值的默认 QPS
统计窗口时长 durationInSec 秒,默认 1
参数类型 classType int / long / String 等,与 Java 类型一致
参数值 object 例外项的具体值
限流阈值(例外项) count(项内) 该参数值专属阈值

参数索引说明

索引 = 方法声明顺序,从 0 起;不认参数名。

java 复制代码
public String getById(Long id, String type) {
    // paramIdx=0 → id
    // paramIdx=1 → type
}

例外项配置示例

参数类型 参数值 限流阈值
long 1 1000
long 2 500
long 3 100

四、JSON 规则片段

持久化见 sentinel-规则持久化.md,rule-type: param-flow。

json 复制代码
[
  {
    "resource": "/order/getOrderWithProduct",
    "count": 10,
    "grade": 1,
    "durationInSec": 1,
    "paramIdx": 0,
    "paramFlowItemList": [
      { "object": "1", "classType": "long", "count": 1000 },
      { "object": "2", "classType": "long", "count": 500 },
      { "object": "3", "classType": "long", "count": 100 }
    ],
    "clusterMode": false
  }
]
JSON 字段 说明
paramIdx 参数索引
paramFlowItemList 例外项列表
object 参数值字符串形式
classType Java 类型全名或简名

参考官方文档

相关推荐
流烟默12 小时前
Spring Cloud 微服务 Sentinel 热点参数与授权规则集成指南(附架构建议)
spring cloud·微服务·架构·sentinel
Thomas.Sir1 天前
第23课:Sentinel熔断降级、系统自适应保护、集群限流
spring cloud·sentinel
jyOverQ3 天前
Redis 主从复制、Sentinel 和 Cluster 到底有什么区别?
java·redis·sentinel
流烟默4 天前
网关 Sentinel 限流实战:API 分组、规则加载与全量匹配踩坑记
nacos·gateway·sentinel·流控规则
guo_wen_qiang9 天前
云服务器sentinel搭建-控制台
服务器·sentinel
guo_wen_qiang9 天前
项目使用sentinel遇到的问题
java·sentinel
天天喝旺仔25 天前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
YOU OU1 个月前
Alibaba Sentinel
sentinel
流烟默1 个月前
Sentinel 规则持久化到 Nacos 实践(网关篇 + 普通应用篇)
nacos·sentinel·规则持久化
莫得感情 o1 个月前
Redis 09 · 高可用:Sentinel 如何发现故障并完成切主
redis·缓存·sentinel