限流算法

固定时间窗口(也叫计数器算法)

计数器算法是通过设置单位时间内访问次数,每被请求一次计数减一,计数为零的时候拒绝访问。

img

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

img

滑动时间窗口算法

滑动时间窗口算法是计数器算法的改善,将固定时间分成更细的时间段,随着时间增加向后滑动,但是本质上依然解决不了请求分布的问题。

滑动日志算法

滑动日志是记录每次请求的时间,可以查到任意时间段真实的请求数,从而解决请求分布的问题。

漏桶限流算法

漏桶限流是对单位时间的请求做了强行限制,比如每500ms只能处理一次请求,多出来的请求反馈限流。

问题就是限制了系统的并发性。

令牌桶限流算法

令牌桶是为了解决并发性问题, 单位时间生成一个令牌放到令牌桶中,令牌桶满的话就跳过。

请求从令牌桶中获取令牌,然后执行,如果没有令牌就返回限流。


__EOF__

本文作者侯佳奇的博客
本文链接https://www.cnblogs.com/houjiaqi/p/18330894.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   侯佳奇  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示