小樱知识 > 生活常识限流是什么意思(抖音限流什么意思?)

限流是什么意思(抖音限流什么意思?)

提问时间:2022-08-07 17:21:36来源:小樱知识网


允许一定量的突流:我的水桶能装100升。如果我的水桶现在是空的话,这100 L的水都可以进我的水桶了。我以10L/s的速度排水,如果还有100L的水进来,我只能限制流量。

经过以上分析,我们知道:

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

1.2什么是令牌桶算法

现在我又多了一个桶。这个桶用来装代币而不是水:

带你了解什么是限流

代币以一定的速度被扔进桶里。例如,我在一秒钟内向桶中扔出10个代币:

带你了解什么是限流

桶中可容纳的代币数量有上限。比如我的桶最多只能装1000个代币。

每次有请求进来,我都会去桶里拿令牌。

例如,如果我在这一秒钟内有1001个请求,我将去桶中获取1001个令牌。这时,可能有两种情况:

桶中没有1001个令牌,只有1000个,所以没有得到令牌的请求只能被阻止(等待)。

桶中有1001个令牌,所有请求都可以执行。

带你了解什么是限流

令牌桶算法支持网络上的突发流量。

* *漏桶和令牌桶的区别:*从上面的例子中,我们可以看到漏桶只能以固定的速率处理请求,而令牌桶可以处理桶中令牌数量最大的请求。

二,限速器的使用

RateLimiter是番石榴的一个限流组件,我的系统里用的,用起来非常方便。

引入pom依赖性:

带你了解什么是限流

RateLimiter基于令牌桶算法,API非常简单。请参见下面的演示:

带你了解什么是限流

从结果中我们可以看出,每秒只能执行三次:

带你了解什么是限流

三.分布式限流

限速器是一种单机限流元件。如果是分布式应用该怎么办?

可以用Redis+lua来实现,一般的lua脚本代码如下:

带你了解什么是限流

Java代码如下:

带你了解什么是限流

以上内容就是为大家推荐的限流是什么意思(抖音限流什么意思?)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:限流是什么意思(抖音限流什么意思?)

本文地址:https://www.xiaoyin02.com/shcs/608983.html

相关文章