单机限流策略
算法:计数器,滑动窗口,漏桶,令牌桶
计数器
在一段时间内进行计算,与阈值进行比较,到了时间临界点,计数器清零。
优点:实现简单
缺点:临界点请求突然暴增,导致服务器压力过大
滑动窗口
将时间划分为多个区间
在每个区间内每有一次请求就将计数器加一维持一个时间窗口,占据多个区间
每经过一个区间的时间,则抛弃最老的一个区间,并纳入最新的一个区间
如果当前窗口区间的请求计数总和超过了限制数量,则本窗口内所有的请求都被丢弃
优点:避免了固定窗口计数器带来的双倍突增请求
缺点:时间区域精度越高,算法所需的空间容量就越大
漏桶
令牌桶