00:00
好,同学们,我们继续接下来我们进行流控模式的第二个关联,那先看一下我们的大纲的解释说明什么意思啊?流控模式关联,当关联的资源达到预值的时候,就限流自己。哎,就是别人惹事,我自己买单,那好,那么来看一下什么意思。当关联的资源达到阈值,先留自己,比如说啊,现在杨哥这写的话是不是A跟B好,那么这我先把这个。拿掉啊,恢复成原来的,等它重启,现在呢是A跟B。我们两个都挂在这个CTRL下面,说白了就是可以把它理解为是同一个ctrler接口下面的两个rest地址,接下来呢,我们两个给它产生一定的关联,比方说B去惹事。A被关联牵连,被连做了,他挂了,好,那么所以说当与A关联的资源B达到阈值以后就限流,A自己这个是官网解释,我再把它落地到程序再读一遍啊,当与A关联的资源B就是B跟A关联,B达到阈值就限流,A自己明白了吗?这个就是有点是是什么呢。
01:21
基本上就是我感冒你吃药,那么这个有什么用啊,一般都是针对自己啊,比如说啊我们。支付接口达到预值以后就限流下订单的那个接口听懂了吗?防止这样的连坐效应明不明白?所以说简单一句话就是B惹上,A管好。那么下面我们来看一下怎么来配置这个A,现在呢,资源名还是刚才我们那个A,只不过我们从QPS数呢,一从直接选成了什么关联,我们关联谁呀?B这个意思就是说B。惹事导致AB挂了,听到那么B只要它的这个按照QPS数超过一了,那么达到这个阈值啊,将会导致A不能用清楚了吗?好,那么上一讲呢,我们已经。
02:13
讲解过了这个线程数,那么后面的演示我就以QPA来进行,都是一样的啊,那么下面呢,同学们,我们这个A高级选项你。不变干,那么就是直接快速失败,那么现在我们就要关联,那么你的关联对象是谁啊?我的关联对象就是B,我们讲过了,这个有什么用,因为有些时候在分布式的链路调用当中是互相影响的,我这边压力大了,你那边就别进来了,就像一个出水口入水口一样,我这边假设我去调第三方的支付宝接口,我这边下单下的太猛,那个太猛了,支付接口要瘫了,那么你这个订单的入口,下单的这个接口,我支付接口要摊了,你下单的订单接口就别那么猛了,就限流一下,听懂好,那么同学们,这时候我们就选。
03:04
Q,速时一,然后关联,那么B如果满了,A就要被限流了,OK,好,那么同学们,那么接下来。我手速再快也不可能说这样来回切换啊,而且要多个线程,现在我们要后台起一个,我们用炮车慢来模拟并发密集的反问BB的阈值,如果只要超过一,那么就是刚才我们配的听懂了吧,那么呢,导致A就不能访问,好,那么同学们,那么现在呢?找到我们的这个postman啊,我们待会儿来看。让postman循环并发的。去调用我们的test b,注意你这用JA用postman都可以啊,呃,不要去这个花精力在这些工具上面,比方说现在啊,老师已经有postw了,什么什么的,我觉得啊,就是如果一个程序员天天就研究一些什么工具类的算了啊,够用就行了啊。
04:03
把精力放在主要矛盾上面,好,同学们,我们现在呢,干一件什么事呢?给我来我们这儿粘贴一个我们的。Test b这么这么说能跟上发送。自测通过吧,返回一个testb,然后我们现在是属于看我们的文档,要用postman模拟并发密集的访问testb,那么我们要把这么一个链路地址加到我们的一个collection集合里面,然后跑这个集合,集合相当于一个list,这个list里面有多条这么个记录,待会一点是不是相当于多次来请求这个testb好,那么怎么玩呢?下面请看这个时候啊,那么同学们。我们呢,直接保存save as这个地址,你保存到哪啊,你要么新建一个collection,那么我这杨哥这儿呢,已经新建过一个,就点到这儿,然后呢,保存到这个里面,那么现在回到我们的collection里面,它呢就会有我之前保存过一个啊,现在保存过一个,他们都是两个都一样,那么这个时候说白了,说白了是点我这个集合类里面的哪个地址,只要是S集合代表多次并发访问。
05:15
点这个,那么这个时候我要run。他是不是就跑了呢?不,你这个集合并发访问,你得告诉我迭代器和延时啊,那么这兄弟们请可以看。二十三百啥意思啊,我这启动20个线程,每间隔0.3秒就去访问一次test b,那么这个时候你懂的,按照我们的匹配,是不是test b只要超过一。A就挂了,这么说能跟上,那么现在你这个是不是远远超过我们这就填20和300,那么来同学们,我们这儿填20个线程,那么。300表示的是每0.3秒就有这个线程发过去,这么说能跟上好,那么兄弟们选中一个以后,我们run这么一个,当然我先不run啊,我先来试试A,兄弟们请看现在这个A,我不管点多快,是不是都没有出现流空,没问题吧,那么现在点A好,那接下来同学们请看我这一发售。
06:17
刷刷刷刷来,这个时候请看B满了,是不是A挂了,你看现在A是不是不能要,能理解这个意思了吗?好,等20个线程一结束,线程数下来,QPS下来了,那么同学们这个A又恢复正常,这么说能跟上,所以说这个。就是我们的第二种情况,简单一句话,我们呢?先用postman访问B成功,然后postman里面新建多线程的集合组,这个时候我们把它加进来,OK,第三步添加,然后跑到这第四步,我们直接run大批量的线程高并发访问B,导致A挂了,所以说最后我们运行发现A已经死了,那么点击访问刚才我们这个A,结果是不是又看到这个流控刚才看到了吧?OK,那么这个就是我们的第二种流控模式,有点连坐,是关联的流控模式。
我来说两句