对四种限流算法的思考和总结
固定窗口限流
是什么:指定一个单位时间内允许多少次操作来限流
优点: 简单
缺点: 假如设置了一分钟允许10次操作,但是第一秒就操作了10次。或者第59秒来了10次操作,紧接着第61秒又来了10次 这样的话就形成了流量突刺
滑动窗口限流
把上面的单位时间拆分,打个比方,刚才是1分钟可以操作10次,现在把1分钟划分成10个6s的窗口,每个窗口期间只能接收1个请求,当0~6秒这个窗口结束时,自动把60 ~ 66秒这个窗口添加进来,就好像是滑动的一样。这样就解决了流量突刺的问题
缺点: 实现复杂 很难选择合适的滑动单位
漏桶限流算法
设置一个有存储上限的桶, 请求来了, 先放到桶中,按指定的固定速率给到系统来处理。
缺点: 因为速率固定,所以没办法快速处理一批请求。固定速率还限制了性能,比如服务器每秒最大能处
理五个请求,但是为了稳定我们肯定要设置小于五个的请求,突然来了的流量就只能存在桶里慢慢给服务
器,没办法用到服务器的性能上限
令牌桶限流算法
设置一个有上限的令牌桶,按固定的速率往令牌桶中放令牌,一个令牌对应一个请求,请求来了,先去令牌桶中拿到对应的令牌再带着令牌发送给服务器处理。这样如果突然来了一批请求,桶里面的令牌可能因为之前没什么请求有累积。
这样既有前面算法解决流量突刺问题的优点,又一定程度上增加了并发性能
缺点:还是要考虑放令牌的速率
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容