首页 网站首页 商业信息 限流 查看内容

带你了解什么是限流

私域运营 2022-10-17 10:02 8163人围观 限流


之前在进修的时辰也打仗不到高并发/大流量这类工具,所以限流固然是没打仗过的了。在看公司项目标时辰,发现有用到限流(RateLimiter),顺带领会一波。

一、限流根本常识先容


为啥要限流,相信就不用我多说了。
  • 比如,我周末去饭馆吃饭,可是人太多了,我只能去前台拿个号,等号码到我的时辰才能进饭馆吃饭。假如饭馆没有限流怎样办?一到饭点,人都往里冲,而饭馆又处置不了这么多人流,很轻易就失变乱(饭馆塞满了人,无路可走。饭馆的工作职员解体了,处置不外来)
  • 回到代码天下上也是一样的,办事器能处置的请求数有限,假如请求量出格大,我们需要做限流(要末就让请求期待,要末就把请求给扔了)

在代码天下上,限流有两种比力常见的算法:
  • 令牌桶算法
  • 漏桶算法

1.1 什么是漏桶算法

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

带你领会什么是限流


我们今朝可以晓得的是:
  • 桶子的容量是牢固的(是图上绿色那块)
  • 超越了桶子的容量就会溢出(要末期待,要末间接抛弃)

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

带你领会什么是限流


桶子的洞口的巨细是牢固的,所以水从洞口流出来的速度也是牢固的

所以总结下来算法所需的参数就两个:
  • 桶子的容量
  • 漏水的速度

漏桶算法有两种实现:
  1. 不答应突发流量的情况:假如进水的速度大于出水的速度,间接舍弃掉过剩的水。比如,我的桶子容量能装100L,但我的桶子出水速度是10L/s。此时,假如现在有100L/s的水进来,我只让10L的水进到桶子,其他的都限流。(限制了请求的速度
  2. 答应一定的突发流量情况:我的桶子能装100L,假如现在我的桶子是空的,那末这100L的水都能进我的桶子。我以10L/s的速度将这些水流出,假如还有100L的水进来,只能限流了。

经过上面的分析我们就晓得:

漏桶算法可以平滑收集上的突发流量(由于漏水的速度是牢固的)

1.2 什么是令牌桶算法

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

带你领会什么是限流


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

带你领会什么是限流


桶子能装令牌的个数有上限的,比如我的桶子最多只能装1000个令牌。

每个请求进来,就会去桶子拿一个令牌
  • 比如这秒我有1001个请求,我就去桶子里边拿1001个令牌,此时能够会出现两种情况:
  • 桶子里边没有1001个令牌,只要1000个,那没拿到令牌的请求只能被阻塞了(期待)
  • 桶子里边有1001个令牌,一切请求都可以履行。

带你领会什么是限流


令牌桶算法支持收集上的突发流量

**漏桶和令牌桶的区分:**从上面的例子估量大师也能看出来了,漏桶只能以牢固的速度去向置请求,而令牌桶可以以桶子最大的令牌数去向置请求

二、RateLimiter利用


RateLimiter是Guava的一个限流组件,我这边的系统就有用到这个限流组件,利用起来非常方便。

引入pom依靠:

带你领会什么是限流


RateLimiter它是基于令牌桶算法的,API很是简单,看以下的Demo:

带你领会什么是限流


我们可以从成果看出,每秒只能履行三个:

带你领会什么是限流


三、散布式限流


RateLimiter是一个单机的限流组件,假如是散布式利用的话,该怎样做?

可以利用Redis+Lua的方式来实现,大致的lua剧本代码以下:

带你领会什么是限流


Java代码以下:

带你领会什么是限流


诠释:
  • Java代码传入key和最大的限制limit参数进lua剧本
  • 履行lua剧本(lua剧本判定当前key能否跨越了最大限制limit)
  • 假如跨越,则返回0(限流)
  • 假如没跨越,返回1(法式继续履行)

一向以来,在分歧种别软件开辟人材的需求中,对于Java工程师的需求量一向居高不下,而且Java工程师的薪资水平相对较高,所以每年进修Java的人也越来越多。但由于每小我的根本、天资有所分歧,进修功效也就大不不异,所以大师可以私信我【java】进我的会商组一路交换,获得Java进修材料!


本文转载至掘金——java3y,若有侵权请联系立删!

带你领会什么是限流

高端人脉微信群

高端人脉微信群

人脉=钱脉,我们相信天下没有聚不拢的人脉,扫码进群找到你所需的人脉,对接你所需的资源。

商业合作微信

商业合作微信

本站创始人微信,13年互联网营销经验,擅长引流裂变、商业模式、私域流量,高端人脉资源丰富。

精彩点评

相关推荐

平台大洗牌,被限流该怎么办?

平台大洗牌,被限流该怎么办?

最近平台大洗牌,评论区问最多的就是,如果被限流了该怎么办,今天就详细的解答这个问

降级-熔断-限流-傻傻分不清楚

降级-熔断-限流-傻傻分不清楚

1. 熔断1.1 熔断来源我们家用电闸上都有保险丝模块,当电压出现短路问题时,自动跳闸

血泪教训:小红书被限流怎么办?怎么恢复正常?

血泪教训:小红书被限流怎么办?怎么恢复正常?

很多新手小白刚开始运营小红书的时候,多半会经历很长一段数据低迷的情况。一方面,是

小红书无故被限流了??这里有你不知道的小红书限流小 ...

小红书无故被限流了??这里有你不知道的小红书限流小 ...

自从有消息爆出小红书内测直播功能之后,小红书成为了当下最受关注的平台之一。而正在

《抖音限流/降权/违规词手册》

《抖音限流/降权/违规词手册》

为了让更多小伙伴能够自己找到并解决【抖音限流】问题,今天为大家梳理一份抖音「限流

闲鱼被限流了,教你恢复元气

闲鱼被限流了,教你恢复元气

作者:咸鱼暴增系统很多朋友在使用小闲的时候都有可能碰到没有流量了,或者流量降低了

司马南为何被限流?多篇文章和视频下架!

司马南为何被限流?多篇文章和视频下架!

连续两天,灵灵看世界针对司马南污蔑、挑衅张文宏和陶斯亮提出质疑和批评,结果是:司

一文搞清楚限流、熔断和降级

一文搞清楚限流、熔断和降级

限流是对系统的被请求频率以及内部的部分功能的执行频率加以限制,防止因突发的流量激

作品播放量低,账号是不是被限流了,该怎么办呢?

作品播放量低,账号是不是被限流了,该怎么办呢?

前天我新发布的视频的播放量创历史了,有史以来最低的,你是不是也遇到过这样的情况?

一招判断自己的微头条是否被限流,被限流后,到底该怎么解决呢?

一招判断自己的微头条是否被限流,被限流后,到底该怎么解决呢?

对于一个自媒体创作者来说,辛辛苦苦创作的内容,发表后阅读量寥寥无几,那种心痛只有

阿里巴巴开源限流系统 Sentinel 全解析

阿里巴巴开源限流系统 Sentinel 全解析

今年下半年阿里开源了自研的限流系统 Sentinel,官方对 Sentinel 的介绍中用到了一系

展现量少怀疑被限流,打开它让你一看究竟,稍做修改也许爆了

展现量少怀疑被限流,打开它让你一看究竟,稍做修改也许爆了

不少友友顽强坚持,笔耕不辍,作品不少,但展现量不高,毕竟展现量才是根本,没有展现

文章被限流了怎么办?如何采取行动进行补救?我以昨天的文章为例

文章被限流了怎么办?如何采取行动进行补救?我以昨天的文章为例

文章被限流,是大家一直以来热议的一个话题,往往也只能表示无奈,没有任何办法,毕竟

第一批蹦迪选手已经“阳康”?武汉夜店开始限流了。

第一批蹦迪选手已经“阳康”?武汉夜店开始限流了。

月初我们找了22位知名的夜店老板做了一期专访,话题是关于“放开后夜店生意变好了吗?

如何判断账号是否被限流?没流量?赶紧查看这个地方

如何判断账号是否被限流?没流量?赶紧查看这个地方

只要查看一个地方,就可以知道你的账号是不是被限流了,好多朋友播放量突然间大幅度降

头条被限流可能是因为这几个原因,浅谈一下头条推荐机制

头条被限流可能是因为这几个原因,浅谈一下头条推荐机制

前段时间写了一篇文章刚发第一天没什么流量,突然第二天流量暴涨了,随之问题也跟着来

一篇文章说清楚头条“限流”那些事儿

一篇文章说清楚头条“限流”那些事儿

相信很多创作者都遇到辛苦写的微头条没有展现,也没有阅读量的情况,有些创作者知道这

抖音限流原因归纳总结与破解之道

抖音限流原因归纳总结与破解之道

2022年随着5G的来临,短视频作为目前最高阶最有效的信息展现方式,风口期必将持续不断

5种限流算法,7种限流方式,挡住突发流量?

5种限流算法,7种限流方式,挡住突发流量?

最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服

主流的四种限流策略,我都可以通过redis实现

主流的四种限流策略,我都可以通过redis实现

引言在web开发中功能是基石,除了功能以外运维和防护就是重头戏了。因为在网站运行期

商业洽谈 文章投递 寻求报道
电话咨询: 15924191378
关注微信