美文网首页
常用高并发限流算法二:漏桶算法

常用高并发限流算法二:漏桶算法

作者: 风洛神 | 来源:发表于2020-11-08 15:09 被阅读0次

前提

  • 在大量并发的环境下,为了防止由于请求暴涨,导致系统崩溃从而引起雪崩,一般会对流量做一定的限制操作。比如等待、排队、降级、拒绝服务、限流等。

说明

  • 漏桶算法(Leaky Bucket)是网络世界中流量整形或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。

算法的基本过程

  • 到达的数据包(网络层的PDU)被放置在底部具有漏孔的桶中(数据包缓存)
  • 漏桶最多可以排队b个字节,漏桶的这个尺寸受限于有效的系统内存。如果数据包漏桶已经满了,那么数据包应被丢弃
  • 数据包从漏桶中漏出,以常量速率(r字节/秒)注入网络,因此平滑了突发流量
  • 漏桶算法强调的是在桶中缓存数据包,然后以一定的速率从桶中取出数据包,从而实现了限流,防止突发流量

图说明 图片截图来自网络

相关文章

网友评论

      本文标题:常用高并发限流算法二:漏桶算法

      本文链接:https://www.haomeiwen.com/subject/lnozvktx.html