00:00
好,同学们,我们继续,那接下来我们要讲一下我们的热点T规则,限流的参数列外向这个配置,但是呢,在这个之前我们还是先花一分钟复习一下,上一讲我们讲了什么样的东东哈,来先说代码用的是sent resource的这个注解标签,类似于我们的how,猪哥his command那个一回事,Value资源名称,那么。按照我们的限流规则。我们在这儿进行了这个配置啊,如果说第一个参数参数索引是零嘛,第一个参数就是我们的P1,它的阈值啊,超过了每秒钟一个,那么将会违背我们在三控制台上面的配置规则,那么违背了三自然而然。就有三的方法来兜底和处理。那么这个时候。我们的配置叫block handle德拉么,由他来配置,那么前面讲过,如果说是一秒钟一下,一秒钟一下永远正确,不会报错,如果我现在狂点,那么大家请看,我们配了以后违背了我们的Q PS3里面的。
01:10
控制台里面的规则被超过了,越规了,那么这个时候。兜底的酷的表情包就出来了,用了我们自定义的,那如果你不配前面讲过了,你把这个给干掉,那么自然而然是不是这个L配节,这个不大友好的这个提示就打到了前台页面清楚好,那么同学们到这我们上一讲算是花了一分钟先小复习,那接下来我们要进入更加深度的配置啊,这个功能很强大,那么在配置之前请大家看一下。LP件超过了,那么这个有没有效呢?又带了一个参数,那么同学们请看啊,现在只要你带着P。检索开始,从第零个参数开始检索,只要你违背了,你后面带带带着多少都会出事,那么兄弟们一秒一下一秒一下没问题,刷刷你看是不是又是哭的表情包,又违背了我们的三里面的配置规则,马上出现兜底的。
02:11
洛克汉德拉替你搞定,那接下来这个问题就是,如果是我们没有P1呢?那么同学们啊,现在我们没有P1。不含有P2,大家请看我现在狂点无所谓,我管理QPS是多少,因为我根本没有配置,没有流控规则来限制我,那么所以说干嘛法不禁止即自由,OK好,那么接下来我们上一讲的内容复习了,那么下一讲我们来看看参数立万象,这是。这什么呢?参数例外项,好,同学们,我们先看界面,再说理论,最后实战编码配置。同学们,通过前面的讲解,我相信如何配置这个资源名的这个热点规则应该明白了,第几个参数啊,阈值是多少就挂。
03:03
请看。上面上一讲是简单版本的,下面呢,请看这是不是还有个东西叫参数例外项,我们就要说到说到这个的进一步的深度的配置啊好,同学们,界面看完,第二步回到我们的理论。上述案例演示了第一个参数甲,下标是第零,听懂OK,下标是第零个,也就是我们的第一个参数P,当QPS超过一秒一次的时候,马上被限流了,但是现在由于我们某些情况下啊,既想限流又想不被限流。那什么意思啊,杨哥,你是不是说串了,怎么if else程序R1是一二十二,怎么搞得有点模糊,那么这个时候请看。普通版超过一秒钟一个以后达到一值异号马上被限流,但是偶尔我们期望PG的参数,当它是某个特殊值的时候,它的限流值和平时不一样。
04:02
听到。那么换句话说就是假如单P1的值等于五,这你可以随便写啊,可以等于3.8,可以等于57,可以等于104啊,可以等于3333,它的阈值啊,可以达到200或者是其他值,明白了吗?就是说假设啊,我们现在P。现在这个访问地址是A,假设现在我一秒钟一下没问题,我框框点了以后,你看马上是不是就哭了,因为现在P1。下标是零的这个参数啊,它的QPS是一,那假设啊,我们希望假设我这个P的值啊等于五的时候,它的QPS的值啊可以达到200 300 400甚至1000,也就是说当PE这个参数啊平时啊会被大规矩限流,但PE这个热点参数更灵活,当它是某个特殊值的时候,它不被限流,或者是限流值是另外一个,清楚了吗?好,那么同学们下面请看严格演示,那么我们呢,这个配置呢,很简单。
05:03
在这儿。上面一样,参数例外项选择我们的类型是string,那么为什么string string这直接说了,它这个参数类型只支持八种基本类型和string类型啊,然后参数值是五,然后200,注意要点这个添加清楚,然后它的意思就是说现在整体上下两连合起来看的意思就是说参数索引下标值是第零个,也就是P1参数啊,平时。不管它的值是多少,超过QPS是一马上被限流,但是再结合这个例外,假设PE这个值等于五的时候,它的限流域值可以达到200,跟我们上面这个规则就是一个什么例外项,听懂了吗?所以说这个时候同学们。添加按钮不能忘啊,这是个配置小细节,那么我们可以来看看啊,那么这是测试的地址啊,那我们回到我们的控制台下面编辑。
06:07
选项。在这块参数类型我们就选string参数值,假设这个值等于五的时候,它的限流规则是200,这你也可以等于是六,写成300,听懂添加,那么结合我们前面讲,如果不等于五的时候,就是不是例外情况就是上面这个通用规则起效,如果现在这个P这个值等于五,那么它的阈值是就不再是一了,会达到200,那么这样是不是就不被限流了?好同学们,我们点保存修改规则成功确定好兄弟们,那么现在啊,P1这个值假设是一。那么一秒一下,一秒一下,正常的时候好说,我现在狂点,那么超过一了,是不是马上就哭?这个表情包说明违背了我们的三的规则,违背了这个规则将会被我们3RESOURCE的block handle德,只要我们设定了被他兜底处理,这个前面讲过,假设现在我们等于五。
07:06
兄弟们,一秒一个一秒一个没错吧,但是现在我哐哐哐哐哐狂点也没有任何问题了,为什么?因为当PE值等于五的时候,我们这个它的Q撇S是可以到多少200,听懂了吗?那么这个是不是跟前面那个P1那种情况是一种例外呀,所以说同学们可以看到当P1等于五的时候,阈值就变为了200,按照我们这步配置啊,我说过了,你可以等于别的数,别的阈值啊,当P1不等于五的时候,阈值就是平时的,我们之前的大六的那个随大六的那个情况一直就是平时的一,所以说这个就叫参数例外项,OK,那么兄弟们请看,前提是要热点参数的注意点啊,参数必须是基本类型或死string,那么当然这个你也不用死记硬背,为什么?因为在这儿人家例外项,这个选项是不是就是。啊,什么double这些八种基本类型和你的一个卷类型,OK,好,那么同学们参数例外项就给大家演示到这儿。
08:05
但是呢,完火以后,我们这儿还有一个小细节啊。我们首键的添加异常,看看这是什么意思啊,好,同学们啊,你一定要明白,现在我们是不是用了这个做了我们的限流规则了,没问题吧,你只要违背了我们的这个P,这个参数就有兜底的替你处理好。下面严格的问题是我现在呢,干这么一个事,Int age等于十除以零,弟兄们。我们等它重启一下。好,8401我们改了一点代码重新呢,热加载启动了,那同学们都不用讲啊,英特A等于十二百分之百报错对不对。那么他这个报错会有什么样的情况和后果呢?我们讲只要你出了事了,给你兜底的是不是这货,那么同学们搂他一眼,这个见过了吧,但是现在大家看一眼啊,我呢直接呢添加了异常,那这个时候同学们我们P,如果我只点一秒,正常情况下是不是不应该出现这个哭脸?
09:15
OK,就算说是有什么问题了,违背违背了我们的限流规则,是不是也有我们兜底的这个,那么现在同学我刷一下。什么情况,是不是分母为零?哎,这块千万不要搞混淆了啊。Sent resource,人家管的只是管你这个控制台出的错,配置类的出错我都点,但你这个是不是Java运行实际常runtime exception啊,这个事儿不归我管明白了吗?所以说这个东东我们后面会讲,但是这要先给大家说清楚啊,两种东东。它处理的是三次的控制台配置的违规情况,有这个兜底的方法给你处理,你现在根本没有超过一秒钟的QPS,超过我们的P1设定的一案,你还没有谈得上什么高并发的大规模的访问,你这个一运行是不是就挂了,这个你并没有违规,听懂了吗?没有在这个控制台里面的违规的东西,我没有给你兜底清楚啊。
10:21
这个是个runtime exception,这个是Java运行时报出的异常。那么三呢,它是不管的,所以说这个它主管配置出错,运行时出错该走异常,咱们走异常,当然我们后面会有其他的配置啊来进行讲解,我们这先提前剧透,同学们请看这是不是还有个东西叫fall back呀?OK,好,那么这个就是我们承上启下,开启我们后面将要介绍的新内容,OK,那么同学们,在这儿我们对于我们的热点T的限流就给大家介绍到这儿。
我来说两句