目录
首先一定需要在请求方法上贴@SentinelResource注解,否则热点规则无效
首先一定需要在请求方法上贴@SentinelResource注解,否则热点规则无效
此时能在sentinel上看到接口下还有一个资源名,该资源名贴了注解才会显示出来,给这个资源名增加热点才会生效
请求方法上中注解的信息
@SentinelResource("hotSpot1")
对第几个参数进行规则限流,0即是第一个参数。
即url中?后的第一个参数 / 请求体中的第一个参数
单机阈值就是每个机器能发送的多少个请求,当超过这么多个请求就会限流
与上一个参数配合,当多少秒内发送达到了多少个请求就会限流
限流阈值就是当达到要求后就会降级,如下图就是当请求参数1在一秒内超过3次就会限流
添加热点后刷新页面配置会消失的处理
最后貌似是由于sentinel的缘故,有时候在簇点链路页面进行添加热点规则时,有时候刷新页面后就会丢失,所以我也总结了一套不会丢失的流程
1. 发起对应请求一次
2. 刷新sentinel一次
3. 复制对应的信息(就是在对应接口下面的那个东西)
4. 直接到热点规则页面中的右上角新增热点限流规则
5. 设置基本信息的同时添加对应的高级信息
6. 最后点击新增即可
例子(基于下图的配置信息)
场景:
秒杀商品专区,限制每个人一秒请求最多10次,也就是上面的单机阈值
秒杀指定商品,限制每个人一秒最多请求相同的一个商品三次,也就是上面的限流阈值
综合:
(单机阈值)在秒杀商品区域内,一个用户一秒内最多只能发10个请求,这10个请求可以发给不同的商品,但是超过10个就会限流。
(限流阈值)同时,如果同一个商品发送请求超过了3次也会限流