限流算法


限流算法

  • 窗口算法
  • 滑动窗口算法
  • 滑动日志算法
  • 漏桶
  • 令牌桶

窗口算法

以一个单位为时间段,基于一定数量的请求进行通行,其他的抛弃

滑动窗口算法

多个时间段计数,超出抛弃

滑动日志算法

和窗口算法类似, 单位时间固定的数量,计算之前日志的数 .超出抛弃

漏桶

以容积为单位,先进先出,出的速度恒定,超出的抛弃
突发100请求3S进来 容积为50,处理速度为10/s,抛弃30个请求
第一秒(50-33)+10=17
第二秒 (17+10)-33=-6 抛弃6个
第三秒 10-33=-23 共抛弃28个
处理需要6秒

令牌桶

入口恒定,以容积恒定.允许突发流量的并发
突发100请求3S进来 容积为50,令牌产生速度恒定为20/s, 处理速度为10/s
第一秒(50+20-33)=37
第二秒 (37+20-33)=24
第三秒 24+20-33=11
抛弃请求 0,处理需要10秒

漏桶流出速率恒定,短时间来的大量请求,要考虑超时问题,不可能长期等待,防止把整个链路拖垮。
令牌桶主要是流入速度恒定,能应付一定的并发,请求处理完之后并不需要归还令牌,可以应付需要预热的系统。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289364.html

(0)
上一篇 2022年9月14日
下一篇 2022年9月14日

相关推荐

发表回复

登录后才能评论