限流算法
固定时间窗口(也叫计数器算法)
计数器算法是通过设置单位时间内访问次数,每被请求一次计数减一,计数为零的时候拒绝访问。

计数器算法的缺点是因为请求分布不均匀,最坏的情况下请求数是限流的两倍

滑动时间窗口算法
滑动时间窗口算法是计数器算法的改善,将固定时间分成更细的时间段,随着时间增加向后滑动,但是本质上依然解决不了请求分布的问题。
滑动日志算法
滑动日志是记录每次请求的时间,可以查到任意时间段真实的请求数,从而解决请求分布的问题。
漏桶限流算法
漏桶限流是对单位时间的请求做了强行限制,比如每500ms只能处理一次请求,多出来的请求反馈限流。
问题就是限制了系统的并发性。
令牌桶限流算法
令牌桶是为了解决并发性问题, 单位时间生成一个令牌放到令牌桶中,令牌桶满的话就跳过。
请求从令牌桶中获取令牌,然后执行,如果没有令牌就返回限流。

浙公网安备 33010602011771号