编程语言
首页 > 编程语言> > 限流算法

限流算法

作者:互联网

限流算法

窗口算法

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

滑动窗口算法

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

滑动日志算法

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

漏桶

以容积为单位,先进先出,出的速度恒定,超出的抛弃
突发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秒

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

标签:10,令牌,33,恒定,抛弃,算法,限流
来源: https://www.cnblogs.com/cymx/p/16691655.html