时间窗限流算法
设置阈值、时间窗,当时间以内线程数量没有大于阈值,那么这个时间段内线程全部可以通过
缺点:有可能从上一个时间窗的后部分阶段与他下一个时间窗的前一个阶段的请求大于阈值,但是也能通过
滑动时间窗
当有请求访问时,判断当前节点向前推一个时间单位的阈值
缺点:每次都要统计
改进:创建样本窗口、样本窗口小于时间窗,样本窗口保存他的请求数量,当有请求时,先计算他在那个样本窗口,在向前相加判断有没有超过阈值
令牌桶算法
将桶内放入token令牌,按一规定的速率,当线程进来以后获取token,获取到token之后就可以出去,设置桶的容量,若开始没有线程进入则积攒token,所以令牌桶方法支持按速率进行访问,或则同一时间桶最大容量
漏桶算法
桶的水流按固定速度不断流出,若桶满了则实现拒绝策略