专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网

限流是什么意思(限流基础知识介绍)

来源:小易整编  作者:小易  发布时间:2023-03-22 08:05
摘要:限流是什么意思(限流基础知识介绍)我之前读书的时候没接触过高并发/大流量这种东西,所以当然没接触过限流。看公司项目的时候发现用了费率限制器,可以了解一下。一、限流基础知识介绍为什么要限制电流?相信不用我多说。比如周末去餐厅吃饭,但是人太多...

限流是什么意思(限流基础知识介绍)

限流是什么意思(限流基础知识介绍)

我之前读书的时候没接触过高并发/大流量这种东西,所以当然没接触过限流。看公司项目的时候发现用了费率限制器,可以了解一下。

一、限流基础知识介绍

为什么要限制电流?相信不用我多说。

比如周末去餐厅吃饭,但是人太多了,只能在前台取个号,号到我这里才能进餐厅。酒店没有限流怎么办?饭到了,大家都冲进去,酒店处理不了这么多人,很容易出事。酒店工作人员崩溃处理不了)

回到代码世界,也是一样的。服务器可以处理的请求数量是有限的。如果请求的数量非常大,我们需要限制电流(要么让请求等待,要么丢弃请求尤优资源 *** )。

在代码领域,有两种常见的限流算法:

令牌桶算法

漏桶

1.1什么是漏桶?

举个例子,现在我有一个水桶,绿色的是我能装水的容量。如果我往桶里倒的水比我能装的多,桶就会溢出来(限流):

目前我们能知道的是:

水桶的容量是固定的(图中绿色的)。

如果超过桶的容量,就会溢出(要么等着,要么扔掉)。

好了,现在让我们在水桶上挖一个洞,这样水就可以从洞里流出来了:

水桶上的孔的大小是固定的,所以水从孔中流出的速度也是固定的。

所以综上所述,算法只需要两个参数:

腹部容积

漏水率

漏桶有两种实现方式:

不允许突然流动:如果流入速率大于流出速率,直接丢弃多余的水。举个例子,我的水桶容量可以装100L,但是我的水桶流出速率是10 L/s,这时候如果现在有100L/s的水进来,我就只让悠游资源网的0L水进入水桶,其余的都被限制。(请求的速度是有限的)

允许的突发流量情况:我的水桶能装100L。如果我的水桶现在是空,那100L的水都可以进我的水桶了。我会以10L/s的速度把水流出去,如果还有100L的水进来,那就只能限制了。

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

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

1.2什么是令牌桶算法?

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

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

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

每一个请求进来都到桶里去取一个令牌。

例如,如果我这一秒有1001个请求,我将转到桶并获得1001个令牌。这时,可能会出现两种情况:

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

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

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

* *漏桶和令牌桶的区别:* *从上面的例子可以看出,漏桶只能处理固定速率的请求,而令牌桶可以处理桶内令牌数更大的请求。

第二,限速器的使用

RateLimiter是番石榴的一个限流元件,在我们的系统中使用,使用起来非常方便。

介绍pom依赖关系:

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

从结果中我们可以看到,每秒钟只能执行三个:

第三,分布式限流

RateLimiter是一个单独的限流元件。如果是分布式应用,怎么办?

可以用Redis+lua实现。大致的Lua脚本代码如下:

Java代码如下:

解释:

Java代码将密钥和更大限制参数传入lua脚本。

执行lua脚本(lua脚本判断当前悠悠球资源 *** 密钥是否超过更大限制)

如果是,则返回0(电流限制)。

如果不是,返回1(程序继续执行)

一直以来,在不同类型的软件开发人才需求中,对Java工程师的需求一直很高,Java工程师的薪资水平也比较高,所以每年学习Java的人越来越多。但是由于每个人的基础和资历不同,学习效果也大相径庭,可以私信我【java】进入我的讨论组交流,获取Java学习资料!


本文地址:周公解梦频道 https://www.neebe.cn/jiemeng/936585.html,励北网一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


周公解梦
小编:小易整编
相关文章相关阅读
  • 存量是什么意思(增量和存量是什么意思)

    存量是什么意思(增量和存量是什么意思)

    “存量”是什么意思?“存量”的意思是:指某一指定的时点上,过去生产与积累起来的产品、货物、储备、资产负债的结存数量。注音:cúnliàng英文:stock经济上概念:“存量房”即为“库存待售”的房产。如某年某...

  • 黑心符号(黑心符号代表什么意思)

    黑心符号(黑心符号代表什么意思)

    黑心符号怎么打出来?步骤:1、把光标放在需要输入圆点的位置;2、在插入菜单中选择符号命令,弹出符号对话框;3、在符号对话框,选择特殊符号,找到符号,4、点击插入按键即可。黑色的爱心符号复制一个给我谢谢不是...

  • sqc是什么意思(餐饮qsc和SQC是什么意思)

    sqc是什么意思(餐饮qsc和SQC是什么意思)

    SQA,SQC是什么意思,有什么区别软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。统计质量控制(SQC-StatisticalQuality...

  • cqi是什么意思(c期是什么意思)

    cqi是什么意思(c期是什么意思)

    CQI是什么意思AQI,空气质量指数(AirQualityIndex)是定量描述空气质量状况的无量纲指数。针对单项污染物的还规定了空气质量分指数。参与空气质量评价的主要污染物为细颗粒物、可吸入颗粒物、二氧化硫、...

  • 以儆效尤是什么意思(以儆效尤是什么意思解释)

    以儆效尤是什么意思(以儆效尤是什么意思解释)

    以儆效尤这个词是什么意思以儆效尤是一个成语,读音是yǐjǐngxiàoyóu,儆:使人警醒,不犯错误;效:仿效,效法;尤:过失。指处理一个坏人或一件坏事,用来警告那些学着做坏事的人。出自《左传·庄公二十一年》...

  • msrp是什么意思(msrp是什么意思$24.00)

    msrp是什么意思(msrp是什么意思$24.00)

    MSRP是什么意思?msrp英[emesɑrpi]美[emesɑrpi]abbr.制造商建议零售价(ManufacturerSuggestedRetailPrice)MSRP:$是...

  • instincts(instincts是什么意思)

    instincts(instincts是什么意思)

    instincts是什么意思instincts英[nstkt]美[nstkt]n.本能,天性,直觉(instinct的名词复数)网络直觉;天性;本能数据来源:金山词霸双语例句柯林斯词...

  • trainees(trainees是什么意思)

    trainees(trainees是什么意思)

    “实习生”的英文怎么说实习生:Trainee中文释义:实习生[shíxíshēng](1)[trainee]∶受训学员,一个受训练准备参加一种工作的人(2)[intern]∶某一专业(如师范)的高年级或刚...