27、SpringCloudAlibaba实战:熔断限流:Sentinel热点规则
本文详细介绍了Sentinel热点规则(热点参数限流)的配置与使用。通过一个Java接口示例,讲解如何为特定资源(如“buy”)添加热点规则,实现对高频参数(如商品名“华为”)的差异化QPS阈值控制,并附有测试效果验证。
热点规则
- 2.添加热点的规则
- 3.测试效果
- 热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的数据,并对其访问进行限制
1.添加一个接口
@GetMapping("/buy")
@SentinelResource("buy")
public ResponseEntity<String> buy(String prodName,Integer prodCount){
return ResponseEntity.ok("买" + prodCount + "份" + prodName );
}
2.添加热点的规则
- 对这个资源添加热点规则:

- 上面的配置含义是:对 buy 资源添加热点规则,当第 0 个参数的值为华为的时候 QPS 阈值为 3,否则为 1。此外,如果第 0 个参数不传,那么这笔请求不受该热点规则限制
3.测试效果
- 不是华为:

- 买 1 次后,里面限流
- 是华为:同时买 3 次,才限流
