00:00
好,同学们,前面从介绍入门篇是什么到设计思想,到他的标准。流程的编码套路,再加上我们的常用注解这些哦啦,下面不多废话,动手干。理论实操小总结,那么接下来啊,我们来看一下消息的驱动者生产我们消息的话,是不是要先要发送啊,那么来吧。8801。二话不说了啊,直接见mode了。选择我们的JDK版本。现在相信杨哥说的,我让你看都看会了吧?没错吧,那么老规矩,这个东东新建成功以后,是不是又要完成我们的po沫,然后这是我们的第二步PO8801在这儿,那么要搞定它的泡沫来。那欧拉。这一块,那么同学们。
01:00
直接过来,新东西只有一个啊,那么兄弟们,Web act。有瑞卡client,我们服务注册中心8801自身也是微服务,我们住到有瑞卡上面,然后真真正正本次新东西就这个STEM rabbit,那么代表是不是跟rabbit休息中间键啊,那么当然如果你要换成卡夫卡,就把这换成卡夫卡就完了,很简单好,那么下面呢,我们呢,以rabbit MQ为例来进行相应的配置,那么第三一步,那么同学们。是不是要搞定我们的亚母呀,那么这个还是有点啰嗦,那么请听我认认真真的讲一下这个亚膜啊,因为越来越复杂了,它要引入我们的一些新的。配置啊,以前没见过的啊,那么希望同学们在这跟着我来,那么修复一下这个小叶子啊,我这儿你就当我有点强迫症吧,其实这个格子他也能用啊,但是。他。
02:01
没有那个小叶子总是让我觉得心里面别扭啊,你们同学们呢,这块。找到我们的CLOUD20208801 OK,然后引入我们的这个application样么好。那么给他手动指定一下好,那么这OK了,那接下来这个亚么,那么请同学们跟着我来好。来吧兄弟们,这块首先8801自身为服务的端口号。微服务的名称,那么接下来啰嗦的是这儿。那么。Streams,你看。绑定消息服务。那么这个时候我们default的这个rabbit MQ。表示定义的名称,用于绑定器的整合,那么这块我们的type告诉他我们用的是rabbit MQ,那么这是它的,我们到时候待会启动rabbit MQ的环境,那么我们的local host端口是这个guest guest我就没改了啊,那么然后注意这是什么?
03:05
Alta。表示我们这是一个消息的。生产者发送,那么我们这destination目的地,你可以把它表示为就是我们的约定好的目的地通道,名字啊,就是叫study exchange OK,那么这是我们的发送内容等等,那么纽瑞下面是它相关的,那么假设我们这个就是消息发送者8801,那么这些是我们的心跳时间和间隔时间,那么在这儿不多废话,重要的就只有这一块,OK,那么这一次是个out,好。那同学们。第三步亚模完成以后,第四步是不是就是我们呃的主启动内,然后我们再舒舒服服的安安静静的使用的。业务类,那么come at,硅谷点,Spring cloud,欧拉,那么8801,这些不再废话,也就不再写了。主启动类,这个很简单,那么直接弄上来,OK,那么下面关键核心代码我们再手写其他这样的。
04:11
劳动体力劳动,我们直接拷贝粘贴好,那接下来。业务类,那么业务类自然而然是不是要定义发送消息的接口,然后对应的要有发送消息接口的实现类,然后再有我们的入口程序CTR来来驱动,那么下面首先我们需要定义的是我们的一个什么接口,那么service,那么这个接口叫I。Message吧。Provide。那么表示我是一个在。Service包下面我们先建这么一个接口,兄弟们,这一波没什么问题吧,那么接口里面的很简单,发送。它是一个消息的发送者,这波接口完成好,那么同学们完成接口以后。
05:02
那接下来要有这个接口的实现类,好,那这块我们直接过来。找到我们的package。然后呢,Package的话呢,是。OK,建好package,然后建一个我们的实现类,那么接口我们是叫这个message provider,那么。OK吧,那在这了以后,那么同学们implements啊,刚才我们定义的。I message provide这个接口,那么有接口要方法实现,那么注意这个是个service service啊,Message provider,那么这个时候是不是先要写我们的这个service这么一个动荡,注意这不需要啦,为什么呀,这个不再是我们像我们以前传统的controltr了,调service,调DAO那样的service啊,这个service是跟rabbit MQ打交道的,听懂了吗?所以说在这块。
06:03
来,同学们知道杨哥的苦心了吧,为什么要让你们先过一下编码和常用注解?我们这儿先要引入的是enable Bing。指信指出,通道、信道channel和exchange绑定在一块,再次强调这个思维方式要转换我们现在写的业务逻辑代码。是要基于STEM,然后做output,听懂了吧,那么要指定这个通道开启我们的绑定器跟他打交道了,不再是我们以前传统的那个增删改查的那些controller啊,Service和我们的dio,明白了吗?所以说这会我们回到我们的代码,我们要引入的是enable。Bin。你可以为理解为我们要定义我们一个消息生产者的发送广告,那么这个时候我们写什么呀?就是写我们的。source.class这一波兄弟们能不能跟上?
07:02
思考一下这个我们引入包哈,那么在这块我们引入包的话呢,是引入我们的,这个不要找错了,OK,非常重要,好,那么在这块,那同学们思考一下,有同学发言呢,有点懵逼啊,别着急,那么这个是哪来的呢?同学们。过了前面呢,我们呢也讲解过啊,这一块的话,请同学们我找一下啊,那么这个时候。来。理解了吗?那么自然而然,你看。千万不要觉得前面我讲理论是废话,后面的话你稍微有点理论基础不扎实,你去编码的时候,编着编着你编不出来了,所以说我们这儿的意思啊,你可以把它理解为这儿就是定义。消息的推送。管道。
08:00
OK,那么它是圆明白了吗?结合我们。脑图的话,它是不是就是有点类似于我们的output了。这三个粗粗的柱子没问题,没问题吧,好,那么同学们别着急啊,那么在这块我们呢,定义了我们这个是一个消息的8801发送者,你发送是不是要从原的这个输出管道生产这个管道去推送消息,那么接下来这是一个消息的什么,你可以把它做service,类似于service input实现类,那么换以前我们这儿,那么大家如果编码编成习惯了,这是要找个Di没有啦。听懂了吧,那么在这块的话又要回到我们的理论知识啊,请看一下。绑定器。频道source和think,那么这个时候现在是不是要聊聊他了,那么所以说按照编码的套路,那么这我们是private message channel这一波兄弟们能不能跟上他,那是out put,那么属于消息发送。
09:06
管道,那么在这儿?依赖注入,OK,所以说在这一块一个动段不再是我们传统的一定要转过这个弯啊,不再是我们传统的service去调D,我们这根本就没有D,我们这也没有操作数据库啊,我操作的是rabbit MQ消息中间件,所以说你要用它这一套常用的注解标签和它的频道。完成我们通道的搭建。好,那消息channel心灵通道,通道完成以后,铺好路了,路上面是不是要走车子啊,并且要绑定好我们要发送的消息啊,我们来同学们,我们完善我们的send的方法,这个时候呢,我们很简单啊,就发一个。流水号就行了。To string OK,那么这个时候呢,Output这个通道上面我们就要有send,那么来同学们请看消息,消息这是不是要有个message,那么现在是不是要把我们的消息要绑定器绑定起来啊,那么这一块要怎么写呢?那么就需要有一个。
10:09
Message。绑定器。引错包了啊,这一定要小心。然后找这个第二我也知道play no,请看这是不是有个T,那么这一块这个T就是一个泛型。把我们弄过去,然后我要干什么呢,第二。Build,那么大家请看这个build是不是构建出了我们的一个消息,这么说能跟上,那杨哥你怎么知道要写这些东道,莫名其妙的什么with play,你,你从哪儿知道的什么构建啊这些通道?那么来吧,兄弟们,我们不妨呢,可以去查查我们的官网啊。大家请看,我也是读官网以后知道的,人家也是说官网上让你用消息构建器with play,然后把你的值丢进去,然后包括还可以设置表头,听懂了吧,然后干嘛构建,最终构建了以后,你看return一个什么东西,是不是return一个message,那么将将好,我们现在要发送的这个方法里面是不是也要传一个message啊,哎,所以说知识来自于这些官网,你翻查一遍就明白了,然后自己做案例,OK,好,那么同学们,我们。
11:26
搞定以后,那么这。我这就偷个懒了,没有引入那个加,呃,洛个佛界那个包了。在这块。这一波能跟上,那么同学们完成到这儿了以后,是不是就写完了我们的message,然后通过这个output的通道准备发送这么一个流水号打进去,然后发送消息到rabbit MQ,因为我们这儿引入了我们的泡沫文件,做过了相应的整合,好,那么这是我们的service层,这一定要关念转换啊,我们没有再操作DAO了,别写成习惯了,永远是controltrl了,调service,调dio,现在我们是要写controltrl了,要调我们消息中间键的这个service OK,好,那么接下来。
12:11
那么兄弟们,我们完成了我们的接口,我们接口的实现类,那么接下来我们要完成我们的ctrler类,那么好。那这个时候干嘛呢,是send。Message controller。好了。包里面有这个,那这个呢,需要我们的rest,看错了,兄弟们没问题吧?那么private谁啊?是不是我们的I message我们自己写的。Provider这一波。OK,那么注入进来。来了,那么public,我们获得一个string,那么send。
13:00
然后呢,就return message provider.send方法,每调一次的时候发送一个流水号,那么这我们getting map。那么这些。一定要写的很熟。那么Y。过来吧,那么就是send。Message,就这么一个,兄弟们。他这个意思很简单,回头我们一调一下这个地址,Rest地址。调用我们的这个send,那我们这个send完成以后,按照我们的业务逻辑开启了输出源的通道,是不是通过我们这个output的频道完我们的消息中间键发送这些消息流水号,这么说清楚啊,整个逻辑就这样再次强调啊,没有DAO明白了吗?我们现在操作的这个是消息提供的这么一个跟rabbit MQ消息中间键打交道的业务逻辑,好,那么同学们这块我们完成以后CTRL了已经写好,那接下来我们就要开始测试,看看能不能通过这个程序,每调一次就往我们的rabbit MQ消息中间键发送消息,那么启动7001启动那么Q启动我们的8801 OK,那么在这块我先暂停一下录屏,因为每次启动哈又要花一些时间,那么同学们可以缓冲一下,休息一下,奔。
14:16
启动,那现在呢,大家可以看得出啊,有一台好的笔记本是不是非常重要啊,那么现在的话呢,我终于呢。MQ也起来了,然后我们的两个微服务啊700180888801了,现在叫啊8801了,OK,是MQ和我们的stream相关的一个微服务,那么题外说一下哈,同学们,后面我们的工程还会越来越多哈,记得一定要买一个硬件杠杠的好本子啊,不然很坑爹。好,那同学们完活以后我们开始来测试一下第一个我们发送出去的这个消息,如果调用成功。后台能不能打出来第二个我们的rabbit MQ应不应该收得到我们的这个一个消息的一个波峰的流量哈,好,那么同学们。
15:02
欧了欧了,那么这一波如果你还是不会装过的,就用这个命令装,装过的啊,再次强调启动一下start stop就完了,那么现在15672先把我们的rabbit MQ起起来,那么同学们这我们guest guest看看能不能够成功登录。如果说我们一切顺利成功登录的话,我们将会在我们的启动8801之后啊,在我们的exchange交换机站,请大家看是不是会有一个study exchange哪来的,那么同学们。来。明不明白,那么相当于说开辟这么一个东东以后,大家就用目的地,就用这么一个study exchange来完成我们的消息的消费和驱动,好,那么接下来我们的8801看到没有,有这么一个动作来,那么然后呢,我们呢,不停的来发送啊。
16:02
我点,那么这个时候刷刷刷刷刷,你看兄弟们,我们这样的是不是点了好多下后台是不是应该看到首先有了吧。OK,那么我们点一下来一下,点一下来一下,又点一堆后台,你看是不是又出来了,那么接下来重要的是请看一下我们的总体,哎,有没有发现波峰上来了,那么如果说现在没有人点了慢慢的波峰啊,我又点了第二次,它会有一个慢慢的检测啊,我刚才是不是点了两次,中间间隔了一下,你看第二次以后我就不再点了,慢慢的波峰下来了,如果能看到这么一个说明你的全部的整合到此打完收工,OK,那么接下来我们就来看看我们的消费者如何能够收到后台的这些消息,那么要是同学们还是不放心啊,我就刷一条。兄弟们,有没有后台能够达到了吧?OK,那么也看到了我们的。总体的这么一个波动的情况,好,我们的生产者的构建就给大家先说到这儿。
我来说两句