瑞星 发表于 2024-8-21 12:09:40

对四种限流算法的思索和总结

对四种限流算法的思索和总结

固定窗口限流

是什么:指定一个单位时间内允许多少次操作来限流
优点: 简单
缺点: 假如设置了一分钟允许10次操作,但是第一秒就操作了10次。大概第59秒来了10次操作,紧接着第61秒又来了10次   这样的话就形成了流量突刺
滑动窗口限流

把上面的单位时间拆分,打个比方,刚才是1分钟可以操作10次,现在把1分钟划分成10个6s的窗口,每个窗口期间只能接收1个哀求,当0~6秒这个窗口竣事时,自动把60 ~ 66秒这个窗口添加进来,就好像是滑动的一样。这样就办理了流量突刺的题目
缺点: 实现复杂   很难选择合适的滑动单位
漏桶限流算法

设置一个有存储上限的桶, 哀求来了, 先放到桶中,按指定的固定速率给到系统来处理处罚。
缺点: 由于速率固定,以是没办法快速处理处罚一批哀求。固定速率还限定了性能,比如服务器每秒最大能处
理五个哀求,但是为了稳定我们肯定要设置小于五个的哀求,突然来了的流量就只能存在桶里慢慢给服务
器,没办法用到服务器的性能上限
令牌桶限流算法

设置一个有上限的令牌桶,按固定的速率往令牌桶中放令牌,一个令牌对应一个哀求,哀求来了,先去令牌桶中拿到对应的令牌再带着令牌发送给服务器处理处罚。这样假如突然来了一批哀求,桶里面的令牌大概由于之前没什么哀求有累积。
这样既有前面算法办理流量突刺题目的优点,又一定程度上增加了并发性能
缺点:照旧要考虑放令牌的速率

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 对四种限流算法的思索和总结