00:00
好,同学们,下面我们来讲一下流控效果的第三种。排队等待,一句话就是大家去大学食堂里面排队打饭,一般都是排成一条直线匀速通过。讲完了。再说白点。来吧,高并发,你们冲我来,全杀进来,但是你们不管怎么乱来,进来了以后,我设了限流规则,只允许挨个挨个的来处理,比方说我现在你一秒钟给我进来的100个,进门的一秒钟塞过来,这一批次一秒钟100个请求,但不好意思啊。这个营业员比较佛系阿弥陀佛,我随风而来,随风而去,每秒只处理一个,我管你高不高兴,开不开心,总之一句话,我对我自己系统进行一个保护,我能耐就是一秒钟只能处理一个,你愿意等,你等,不愿意等,你就超时重试,OK。
01:03
好,那么同学们。来吧。匀速排队,让请求以均匀的速度通过这个阈值,类型是Q撇S啊,因为你要是选线程速,它选了下面,选不了下面这个啊,说穿了就说只能是Q撇S,它的意思就是说test a,以图为例啊。它呢是每秒钟只能接受一次的处理请求,超过的话你排队吧,等待的超时时间这儿就是毫秒数,那么这假设是20秒钟,好,那么它的原理很简单,就是匀速排队,那么官网上它是这样的。匀速排队,严格的控制请求通过的间隔时间,我们现在是不是就是一秒一个,一秒一个一秒一个,也就是让请求与均匀的速度通过,对应的是什么漏筒算法,那么注意说么令牌桶啊,漏筒算法呀,这个杨哥在大场面试题第三次。内部呢,给你们讲过了,这些高级的部分的知识啊,是你冲击大厂的必备,比第二次更重要,所以说这个时候详细的文档,那么大家可以去猜啊,可以去查看,那么这个时候我们的时间轴就跑到这儿好。
02:15
用于处理间隔性的突发流量,例如消息队列这样一个场景啊,一秒钟大量的请求砸过来,那么接下来几秒呢,又是空闲,然后又是过了几秒钟,又是大量的请求砸过来,又是空闲,那么这样的话呢,我们希望能够在接下来的空闲时间逐渐处理这些请求,而不说第一秒就直接拒绝多余的请求。匀一点,不要到时候嘛,忙的忙死,闲的闲死啊,听懂好,那么同学们,我们呢?光芒的理论整明白了以后,我们呢,先来做测试,再来说这个源码也很简单啊,它的意思就是这段代码呢,是由这个类写进趣的,有兴趣的可以去看看,下面我们来改吧改吧,第一个现在呢,我们的这个test b,我们上一次呢是用的是这个预热,那么现在还是用testb,那么这个时候我们的。
03:07
一就选S啊,排队等待。20秒钟没问题吧,那你说我非要选线程速呢,你看它就自动给你关了,所以说这个时候的话呢,我们的这个流控效果的排队等待只允许是QPS的。一秒钟一个,然后只要一秒钟一个,我管你来多少,你给我乖乖排队等待好,那么保存,那么来,这是我们的流控设置好了,那么设置好了以后,我要把这个效果打印出来呀,那么这我们的at特ser附件,那么在这一块的话是log.in for,那么这块呢,比方说我们的线程好吧,那么。再加上。我们的一个比方说这是我们的testb这个地址。OK,那么待会的话就会看到是哪个线程池处理的,那么说白了就说每一秒钟就会在后台打印出这条日志,明白好,那么同学们等他慢慢的这个后台处理,我们先回到我们的这个,呃,Postman,因为又要模拟呢,是一大堆这个现场来访问是吧,我们现在呢报走起又是一个collection集合里面,然后呢,嗯,如这个是对testb发起冲击,那么这次呢,我们就简单一点了,首先这个呢,就是十个线程。
04:26
然后呢?1000毫秒就是一秒钟一个,每次过一个线程,那么兄弟们我这儿啊,等我的这个。呃,清蒿,那么现在我们以run流控规则起效,Test开始发送,你看。18 22 122。2324。25262728,那么基本上就是我们的什么每十秒钟哦,抱歉每秒钟通过一个,那么这个时候呢,你的时长设的越多越明显,那么这块我们可以再重试一下,那么这个时候清掉,那么大家请看42 41,四十二四十三,44 OK,那么几乎就达到了我们的一种限流的流控规则,这个非常爽啊G。
05:12
请求过来了,你既没有把我冲垮,我也没有无情的将你拒绝,我们两个是不是可以双赢啊?哎,所以说这个流控规则希望同学们可以去试试,那么这个流控那么怎么弄,我们都给大家做了配置和讲解,那么这个就是我们流控效果里面的排队等待。
我来说两句