分布式限流方案

1、使用Java自带delayqueue的延迟队列实现

2、使用Redis实现,存储两个key,一个用于计时,一个用于计数。请求每调用一次,计数器增加1,若在计时器时间内计数器未超过阈值,则可以处理任务

3、使用guava提供工具库里的RateLimiter类(内部采用令牌捅算法实现)进行限流

参考:分布式环境下限流方案的实现redis RateLimiter Guava,Token Bucke