美文网首页
限流的概念

限流的概念

作者: 昙花未现 | 来源:发表于2018-09-30 22:06 被阅读24次

限流是对用户的请求进行限制来保护系统。

常见的限流有以下几种:

限制总并发数

限制时间窗口的平均速率

限制接口的调用速率

···

限流算法有令牌桶法和漏桶法。

令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。

令牌桶算法的描述如下:

假设限制一秒两个令牌,则按照500毫秒的固定速率往桶中添加令牌;

桶中最多存放b个令牌,当桶满时,新添加的令牌被丢弃或拒绝;

当一个n个字节大小的数据包到达,将从桶中删除n个令牌,接着数据包被发送到网络上;

如果桶中的令牌不足n个,则不会删除令牌,且该数据包将被限流(要么丢弃,要么缓冲区等待)。

漏桶作为计量工具时,可以用于流量整形和流量控制。

漏桶算法的描述如下:

一个固定容量的漏桶,按照常量固定速率流出水滴;

如果桶是空的,则不需流出水滴;

可以以任意速率流入水滴到漏桶;

如果流入水滴超出了桶的容量,则流入的水滴溢出了(被丢弃),而漏桶容量是不变的。

相关文章

  • 限流的概念

    限流是对用户的请求进行限制来保护系统。 常见的限流有以下几种: 限制总并发数 限制时间窗口的平均速率 限制接口的调...

  • 限流概念&算法

    在开发高并发系统时,有三把利器用来保护系统:熔断、延迟处理、缓存、降级和限流 限流 问题:遇到瞬时请求量激增时,会...

  • 常见限流算法及方案

    1.限流 1.1 限流的基本概念 1.1.1 计数器 1.1.2 滑动窗口 1.1.3 漏桶 1.1.4 令牌桶 ...

  • 【GO】golang 降级|熔断|限流实战

    golang 降级|熔断|限流实战 前言 做为本文的前言,首先向读者介绍一下降级、熔断和限流的概念与关系。也许很多...

  • 限流、熔断、降级

    一、限流、熔断、降级概念 1.1 限流: 在高并发系统中一定要用,高并发的所有请求进来,不是让每个请求都打到后台集...

  • 【Flink官网翻译】Flink 的 Window 机制基本介绍

    参考翻译自 Flink Window。 翻译的较简略~ Windows 是处理无限流的核心概念。 Windows ...

  • 限流从概念到实现

    并发数限流 并发数限流限制的是同一时刻的并发数,所以不考虑线程安全的话,我们只要用一个int变量就能实现,伪代码如...

  • 限流算法(一)基础概念

    先铺垫一下限流算法相关的知识,给大家扫个盲,网上先关的概念有很多,我就不自己写了。本文章基础概念部分转至 http...

  • Guava之RateLimiter的设计

    Guava源码中很详尽的解释了RateLimiter的概念。 从概念上看,限流器以配置速率释放允许的请求(perm...

  • 高并发系统的解决方案

    在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的...

网友评论

      本文标题:限流的概念

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