11.7、热点参数限流
分类: Sentinel流量控制与熔断
热点参数限流
热点参数限流可以对特定参数进行限流,适用于热点数据访问场景。本节将学习热点参数限流。
本节将学习:热点参数识别、参数限流规则、例外项配置,以及使用场景。
热点参数识别
识别方法
热点参数识别:
- 统计参数访问频率
- 识别热点参数
- 对热点参数限流
参数限流规则
配置示例
ParamFlowRule rule = new ParamFlowRule(); rule.setResource("getUser"); rule.setParamIdx(0); // 第一个参数 rule.setCount(10); // QPS 限制 10 ParamFlowRuleManager.loadRules(Collections.singletonList(rule));
例外项配置
例外项说明
例外项配置: 对特定参数值不进行限流。
配置示例
ParamFlowItem item = new ParamFlowItem(); item.setObject("VIP_USER"); item.setClassType(int.class.getName()); item.setCount(100); // VIP 用户 QPS 限制 100 rule.setParamFlowItemList(Collections.singletonList(item));
使用场景
适用场景
热点参数限流使用场景:
- 热点数据访问
- 商品详情页
- 用户信息查询
官方资源
- Sentinel 热点参数限流:https://sentinelguard.io/zh-cn/docs/parameter-flow-control.html
本节小结
在本节中,我们学习了:
第一个是热点参数识别。 如何识别热点参数。
第二个是参数限流规则。 如何配置参数限流规则。
第三个是例外项配置。 如何配置例外项。
第四个是使用场景。 热点参数限流的适用场景。
这就是热点参数限流。使用热点参数限流,可以保护热点数据访问。
在下一节,我们将学习授权规则。