什么叫限流的意思,账号被限流了怎么恢复播放量

首页 > 教育 > 作者:YD1662024-06-30 02:54:07

之前在学习的时候也接触不到高并发/大流量这种东西,所以限流当然是没接触过的了。在看公司项目的时候,发现有用到限流(RateLimiter),顺带了解一波。

一、限流基础知识介绍

为啥要限流,相信就不用我多说了。

在代码世界上,限流有两种比较常见的算法:

1.1 什么是漏桶算法

比如,现在我有一个桶子,绿色那块是我能装水的容量,如果超过我能装下的容量,再往桶子里边倒水,就会溢出来(限流):

什么叫限流的意思,账号被限流了怎么恢复播放量(1)

我们目前可以知道的是:

OK,现在我们在桶子里挖个洞,让水可以从洞子里边流出来:

什么叫限流的意思,账号被限流了怎么恢复播放量(2)

桶子的洞口的大小是固定的,所以水从洞口流出来的速率也是固定的

所以总结下来算法所需的参数就两个:

漏桶算法有两种实现:

  1. 不允许突发流量的情况:如果进水的速率大于出水的速率,直接舍弃掉多余的水。比如,我的桶子容量能装100L,但我的桶子出水速率是10L/s。此时,如果现在有100L/s的水进来,我只让10L的水进到桶子,其余的都限流。(限定了请求的速度
  2. 允许一定的突发流量情况:我的桶子能装100L,如果现在我的桶子是空的,那么这100L的水都能进我的桶子。我以10L/s的速率将这些水流出,如果还有100L的水进来,只能限流了。

经过上面的分析我们就知道:

漏桶算法可以平滑网络上的突发流量(因为漏水的速率是固定的)

1.2 什么是令牌桶算法

现在我有另外一个桶子,这个桶子不用来装水,用来装令牌:

什么叫限流的意思,账号被限流了怎么恢复播放量(3)

令牌会一定的速率扔进桶子里边,比如我1秒扔10个令牌进桶子:

什么叫限流的意思,账号被限流了怎么恢复播放量(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.