1.什么是限流?
答:限流是一种流量控制的手段,用于控制系统在一定时间内处理请求的数量,保护系统稳定性和安全性。
2.什么业务需要限流?
答:例如用户支付时候网络卡顿,多次发送支付请求
1.若依框架中自定义了一个限流注解@RateLimiter
key()
: 限流的key,默认值为?CacheConstants.RATE_LIMIT_KEY
。可以用来标识不同的限流规则。time()
: 限流的时间,单位为秒,默认值为60。表示在指定时间内进行限流计算。count()
: 限流次数,默认值为100。表示在指定时间内允许通过的请求次数。limitType()
: 限流类型,默认值为?LimitType.DEFAULT
。用于指定限流的策略,例如默认策略、IP策略等key可以是接口的指定路径,也可以是总的路径;后面是每五秒只能访问一次(根据自己的业务定义)
最后,所有注解都是通过AOP进行的拦截实现