限流算法
- 窗口算法
- 滑动窗口算法
- 滑动日志算法
- 漏桶
- 令牌桶
窗口算法
以一个单位为时间段,基于一定数量的请求进行通行,其他的抛弃
滑动窗口算法
多个时间段计数,超出抛弃
滑动日志算法
和窗口算法类似, 单位时间固定的数量,计算之前日志的数 .超出抛弃
漏桶
以容积为单位,先进先出,出的速度恒定,超出的抛弃
突发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秒
漏桶流出速率恒定,短时间来的大量请求,要考虑超时问题,不可能长期等待,防止把整个链路拖垮。
令牌桶主要是流入速度恒定,能应付一定的并发,请求处理完之后并不需要归还令牌,可以应付需要预热的系统。
- 版权声明: 本博客所有文章除特别声明外,均采用 反996许可证版本1.0 许可协议。转载请注明出处!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289364.html