00:01
好同学们,我们下面呢,正式进入我们的MQ,那么一点点来会说能做好看又能打,那么下面龙岩。何种场景下要使用的消息中间键?我为什么要在系统里面引入消息中间键,巴拉巴拉省略这些省略的我们后面还有其他面试题,我们聊这两个面试题,就是我所说的,好啊,你只会编代码。能不能跟项目经理聊上几分钟,说穿了你引入MQ有什么好处啊?第二个,那么你引入MQ以后有,既然你说的这么牛,有这么多好处,那么请问引入它以后又有哪些坏处?你是如何克服并避免的?你看看,你不会说一个问题过来,你就愣了,好,那么接下来我们呢,就给大家唠唠。为什么我们要用那么Q,也确实人家问的对,你好端端的,你为什么要引入啊?
01:00
来,兄弟们,我们先从生活的case啊,再到实际的生产案例。好的,接下来。这个上述问题,杨哥举一个工作、学习、日常生活中的case来吧。话说如此,同学们,这个。熟悉秧歌风格都知道,AB这个B就是before a就是after,俗称什么?引入MQ之前,引入MQ之后,我为什么要好端端的引入,给我解决了什么问题?那么好处在哪一些?我们来,同学们不妨我们就以是吧。学生请教老师问题。来吧,同学们。现在哈。讲台上。这是杨哥。没问题吧?那首先头不秃啊,你看大家都知道杨哥头发很茂密是不是啊,好,那么接下来现在呢,张三李四王五孙七各个同学都要过来呢,请教老师学习中的问题,好,那么下面第一个同学过来了。
02:12
好了回答我,我们现在是不是就是原有的至现在啊,左边这个是什么?Before还没有消息中间线的。那么我们可以把它理解为学生是一个系统,老师是一个系统,那这个时候是不是A调用B没问题吧?好,那么接下来假设现在过来了这位同学,他可能要咨询我什么东东,分钟。甚至十分钟。那么大家都明白。好比医生看病。没有说一块儿看的吧。一样,这个同学问杨哥这个问题我也不可,杨哥只有一张嘴,不可能哒哒哒哒哒哒哒。好,现在张三跟我聊着五到十分钟,我们就取五分钟吧。
03:05
不好意思啊,下一个同学来了,那么你懂的,他看着这有同学在问干嘛,二话不说。排队吧,那么现在你懂的,A系统调,B系统直接调用,那么言下之意是不是就跟我们以前的什么用double做的RPC直接调用一样。那么。说错了,老师,我有问题要问你,你什么时候回答我完了,第一个同学过,第二个同学来,那么以此类推,那么同学们干嘛?等着。等着。好,那么。五分钟五分钟五分钟五分钟两个问题,那么现在第一个问题干嘛。也许这个同学来问我的时候,我只能响应他,后面这三个是不是要平白无故的等待?
04:01
第一点第二点,系统调用我的人,找我的学生,现在1234有四个,那假设在高并发的前提下,现在干出来400个,会不会把杨哥问垮?那我不上厕所了,我不吃饭了,我不休息了,天天为你们服务,广受人民群众爱戴,最后我是不是照片挂在墙上?好,那么这个时候干嘛,系统负担重。第二个耦合度比较高,我们直接调用是方便,但耦合度高带来的问题就是这个,张三在问着的时候,李四王五孙七全部等着,尤其越到后面的系统等的时间越长,假设按照我们这个线性模型的话,这哥们五分钟我我我我。20分钟,那么言下之意,孙曦这个系统这20分钟就在这等着转着,他这个调用老师,我在这排着队等着呢,你不告诉我答案,我没见到你真人我就不走,那你告诉我这个系统是不是干嘛利用率极低呀,那么好同学们,这个就是日常课间大家来问我问题的时候,我们经常碰到的一个,现在没有MQ对吧?也就是说平时的比方说订单系统,调一个支付接口,下订单成功马上要付钱,A调用B系统。
05:24
好。后面的也要调用,等的时间越来越长,那么同学们我先暂停一下录屏,大家讨论一下怎么优化。好,同学们,那么听了大家的高见哈,那么呢,很好,OK,那么同学们呢,基本上回答正确,都沾边了,很简单,你也不会在这儿一直等着吗?对吧,那么换句话说,同学们,我们现在来看一下我们的。MQ。解决和达成了一些什么问题好?
06:00
第一个同学,我在这问着呢。五分钟不用讲好吧,那后面的同学我们先说生活的case哈,他会怎么想?那么杨哥看到后面干嘛,人越来越多了对吧?那么老师也不可能无动于衷吧,就让这么多同学在这等着,我就在这耗着对吧?我自身这个系统,为了自身的健康,我是不是要做一定进一步的这个限流容灾各种的处理啊,那么这个时候杨哥呢?将会干嘛干这么一件事,然后这个时候这儿有一个六边形。那么假设哈,这个六边形就是你们班的班长,那么杨哥呢,直接给这位兄弟干嘛?做好约定,发号施令,给班长说。各位同学,后面这三位烦请你们把你们的问题按照严格要求的格式写在一张纸上。
07:07
然后呢,注意我们这么来这么写吧,假设哈,按照。杨哥要求的。格式或者说是什么约定,能不能。写在。一张纸上。按照先后顺序。交给班长。大家不用。在这里耗着。回答我这样的说的话呢,是不是后面的同学就可以跟我脱钩了?那么请看按照杨哥要求的格式约定,比如说我们这个消息要求是什么问题名称,然后提问人。
08:13
然后手机,然后是问题正文回答我,你现在告诉我,假如说我们这么干,张三在这问着,李四说问题。持久化失败提问人李四手机号码138111222问题正文回答,我这个是不是符合杨哥要求的某种?消息格式的约定有点类似于我们XL的语法干嘛?好,然后请你把它写在一张纸上。好了,这是李四的,那么以此类推,王五孙七。那么言下之意,李四、王五、孙七这三位同学干嘛不用在这耗着,也不用在这等着,因为上面有他们的手机。
09:10
如果杨哥忙完了,张三将会从班长手上,那么他们这几个人一看这儿围着这么人这么多,行了,也不来调用,杨哥也不来打扰了,高高兴兴的一进来,直接找到班长。按照。我们要求的消息格式假设就是这个,那么现在干什么呢?是不是就把这份消息移交给班长手上?当然先来后到,后面的是不是按照纸片一样的压在后面?那么言下之际干嘛?班长就在这负责接收。好了,然后就放在班长的这个纸盒子,这大家都看到了吧,他刚好桌子上有个纸盒子,这个纸盒子这个班长这个角色回答我起到的作用是什么?第一个后面这些同学不用直接来找杨哥他们教完他们的提问以后,各回各家,各找各妈,不用在这耗着。
10:13
换句话说,第一种问题干嘛?我们最重要的是不是他们没有调用杨哥。杨哥收到他们的消息,解决完张三去看。李四,根据李四的问题干嘛。我从这。拖拉拽下来,解决完了以后,我可以按照手机号码告诉李四,你回来取吧,那么言下之意,后面这些没有掉,杨哥,那么这种东东是不是达到了,我们第一个功能叫解决了耦合。调用的问题。这么说同学们能不能跟上。那么第二个。也许这个问题杨哥今天此时此刻没有办法回答,我晚上也需要去查一下资料,你是早上给我提问,我下午才有时间来回复你,你不用像以前那样,杨哥,我来找你的问题,你没有回答清楚,我就不走。
11:13
换句话说,这个时候你早上问我,我下午给你回答,这种交互的方式是不是异步模型啊,啊没问题吧,第三一个。这么多人哐哐哐的群来找杨哥。我会累死的,没人给你们讲课了,对吧?那么言下之见,现在班长集火型英雄兄弟们向我开炮来吧,有冤报冤,有仇报仇,干嘛不要找杨哥向我开炮?那么这个时候干嘛你懂的,很多要求和反问没有直接打到杨哥身上,没有打到杨哥这个系统上,现在是不是打到班长这儿了?反正班长干嘛,他有一个纸盒子,他里面可以塞,至少我目测1000张纸是摆得下的。那么言下之际,干嘛这1000个请求不用同时达到杨哥这个系统,单长是不是给我分担了流量?那么言下之意,这种调用的峰值是不是有一部分就像洪水过来,这个是杨哥前面的一个洼地,班展这个桌子上面的这个角色,这个纸箱。
12:30
就帮着杨哥挡住了一部分的流量访问,我这个系统干嘛可以专心的处理我的当前的主要逻辑和业务,完成了我再从班长的纸盒子里面拿来解决后面同学的提问,那么言下之意是不是可以抵御干嘛?我们看看就是红。洪峰流量。那么呢,达到。
13:00
干嘛保护主要主业务的目的?换句话说,这个是不是有点消风的感觉啊?那么这个时候干嘛请同学们?可以明白。我们直接。那么这种东东。至少从这个模型大家可以看到,干嘛我们以前没有MQ直接打到我,现在MQ就是班长大家直接打到他,我们慢慢的是不是就解决了耦合。一步消峰三种目的和提问的方式啊,那么换句话说,这个可以直截了当的说出来。MQ能解决的问题,他能干嘛?就三个,杰尔、肖峰,异步,换句话说,以前同学们直接来找杨哥,杨哥累死了,现在兄弟们把你们的问题以一种我们约定好的消息模式发送给班长,回答我,班长是不是介于老师和同学之间的一个中间人,能不能理解上面叫消息就是我们约定的那张纸片中间见这句话,班长是不是居中调停?那么OK,有班长在前面帮我挡着。兄弟们有什么事你们先不要找我,先去找班长,把你们的问题全部给班长,班长收集拢了以后,我才从班长那去拿,然后我再回复给大家。那么是不是从同步调用变成了异步调用,从直接找我到找班长,大家把火力都向打向班长,我没有受到了影响,降低了我的系统负担,解耦消峰异步,同学们。
14:56
清除否?所以说这个就是我们引入MQ所能够达到的直接的三大优势和目的。
我来说两句