00:00
好,各位同学,我们继续那上一讲,我们完成了我们的8001模块,完成了我们的热步数啊,这几步呢,请同学们务必要配置好哈,否则的话,你每次开工的时候都要自己手动的去重启代码,一代码一改动就要手动的去重启的话,这样的话呢,它影响你的开发效率,那么这一定要配置好,呃,另外多说一嘴啊,我们讲过啊,原来在boot的spring boot的高级片的话呢,杨哥给大家说过。开发阶段必须开热部署,但是上生产以后,你别一改动,你程序要重新发布,重新去跳一次,这个是很坑爹的,所以说这个配置啊,只允许在开发阶段,实际上线了以后,生产部署这个功能必须关闭,OK,怎么配置啊,什么时候用什么时候关,我们说清楚了,好,那接下来。回到我们的这张小图哈,慢慢的会越画越复杂,那么大家跟着来第一个我们自己自己动手丰衣足食,我们的8001微服务支付的微服务提供者自测通过,那么假设现在有其他组内的人来调你。
01:12
OK,组内的啊,就是没有通过网络其他服务调服务的,那么我们自测通过没有任何问题,那接下来我们更多的是偏向于外二补层,换句话说外网的话肯定有互联网的用户来调,你比方说美团下个单调用支付宝的接口,然后你去做后面的事情,那么接下来我们是不是有了微服务的提供者,需要有微服务的消费者,那么这个消费者我们选择它的微服务端口号八零好,那么建第二个微服务开始我们。后续我们的模块也将会越来越多。回到我们这儿,现在是不是负工程,下面只有一个,那慢慢的是不是开始建第二个,第三个一直建到D。30个40个,OK,那么老规矩再复习我们的小口诀永远是这样重复,给大家形成肌肉记忆,一干活就要想到这五步。
02:05
杨哥已经说了很多小口诀了,对吧,大家耳熟能详的,我们讲多线程高级勾优C是不是线程操作资源类等等那么一样的套路,学习上你要学成这样,笔记越少越好,越精越好,那么借Mo改泡沫写样沫主启动也不类好的。那么兄弟们,咱们。还是熟悉的配方,还是熟悉的味道走起,那么最终如果你跟着我做下来,哎呀重复30多次啊,我相信你这个基于分布式的微服架构的开发这个套路,起码咱们先成为一个熟手走起。那么根据我们这儿。过来。建一个我就不再敲了,直接。节约时间,那么在这儿我们选择它。每本工程这个这个这个OK,兄弟们快快的过,没问题吧,那么来吧,我们的。
03:01
工程mode的组件模块完成第二步是不是改泡沫?那么老规矩,这块泡沫直接粘贴。来现在很简单啊,八零的话呢。那么讲过了继承负工程以后,是不是可以省略这个G和A,我们前面复习过dependency management,那么在负工程呢,你继承以后这个。Jav,换句话说我们的这个G和version版本号就不用再写好,那么下面web act这两个图形化的监控展现,这两个是标配,必须给我写,那么接下来的通用的不再废话。那么我们的客户端八零基本上很简单,那么第三步呢,就来写我们的这个application,亚po完了以后是亚m s RC resource这新建一个文件。要么?Application点亚好,那么这块简单到让你不可思议,Serve点破八零,OK,那么这儿一般我们客服端哈,我本次呢都是选客户端就是。
04:15
用户消费者这边我们都是用八零端口啊,理由是什么呢?正常的微服务都会绑定一个服务端口,但是我们都清楚,一般按照我们百科百度百科哈都清楚,地址就是我们所说的网址加八零来访问端口,因为默认的端口是不是就八零啊,因此只需要输入网址可以不用输入什么鬼八零,你访问一个百度基本上就是百度点com对不对,你很少会再加一个八零端口,而且给用户测也不应该去给他们加八零端口,所以说这样我们用八零在模拟用户这边下订单,他不用去关心端口号啊。好,那么这是我们的第三步,那么第四一步,那么老规矩是不是就是我们的主启动?
05:04
Cloud点,那么这个时候就是我们的order may80端口,好,那么后续我们都带着这么一个端口来说话,那么在这的话呢,Spring application BOO may boot,然后在这儿ORDER80这么一个东东O不OK,好,那同学们完成了我们的这几步以后。这个这个这个这个都搞定,那接下来我们是不是要写我们的业务类了,好,那我们的业务类首先那么是不是在我们的客户端也需要是control service啊Di这些东东呢?那么大家呢,请先思考一下,我暂停一下录屏啊,同学们呢,有些同学呢回答的不是太好啊,你得想一下我们现在要干的是不是消费者去调。8001微服务提供者呀,那说穿了干活的是不是这个有点类似于现在同学们是。
06:01
求学,你们不懂Java才找杨哥学习Java,杨哥是不是微服务的教学服务的提供者,那当然而然,因为你们不懂才来学,你们没有它来调用我这个方法,所以说八零是不是只应该有一个controltler啊,至于说service和dio,你怎么可能去操作淘宝顺丰的数据库呢?所以说我们想都不用想,八零这侧客户端是不是只应该有我们的ctrler OK呀,那么来吧。完了以后,由于我们这儿也需要使用我们的实体类。Payment,那么我们在这儿呢?偷个懒,不再废话。是不是直接就把我们的这两个实体内直接拷贝过来,这么说同学们能跟上,那么来吧,那么NTT。第二,Payment,那么大家请看一下这块payment没问题吧,那么直接拷贝,因为巴黎它也需要这个东东。好,那么。
07:06
Common我们呢,也同样直接拷贝,反正entity直接就是复用,那么诶。Result。好吧,那么跑到这儿,那么弟兄们,OK,没问题吧,那么这我们的NT就算完成,那么接下来我们是不是就要写我们的controller了?Controller。这一步同学们没问题吧?那么在这儿老规矩。Rest controller ser或键O不OK,那接下来这个问题就来了,我们现在需要去调的是不是就是我们的8001,但是你要搞清楚啊,同学们,现在咱们可是两个端口两个服务啊,我不大可能什么vita对吧,Order,什么service啊,没有这个东东啊,我现在只有个CTRL,那么换句话说,我现在是不是要两个服务之间的调用啊,那么这个调用在我们最原始的外部阶段讲,这个技术是不是就是我们的HTTP?
08:28
Client这种东东,那么如果到现在我们封装了以后,进化到我们这儿,我们也给大家聊过,是不是需要用我们的rest time plate这一波东东还。记不记得住啊,那么首次我们会给大家进行这个讲解和复习,它就相当于说给我们的htp client做了一次封装,实现了订单微服务和支付微服务之间的。横向调用好,那么我们在这块就需要加载我们相关的配置,这个配置CTRL完了以后,我们现在就需要调用我们的rest template,那么这个是个什么鬼呢?来把。
09:18
首先啊,同学们,NTT这个不再废话了,那么手说第一次说,那么自然而然,同学们到这儿,由于我们还没有进入到后面的。初级部分只是零基础呢哈,还没有引入后面更多的东东,你先不要管这个,先跟着杨哥先用,后续我们讲,那么首先它是个什么鬼呢?它提供了多种便捷访问远程HTP服务的方法,是一种便捷的访问rest服务的模板类,Spring提供的访问客户端的模板工具集,那么大家呢,也一定学过了spring以后,我们是不是讲过一个东西叫gd bc template template,那么现在我们要调rest风格的接口,所以说spring又给大家呢出了一个东西叫rest template,那么它的使用方法官网。
10:09
由于目前呢,几乎。已经到spring5.0了,所以说我们又以五说话,那么在这同学们请看rest,你看是不是spring?出的web层的client端调的right temp,其实它就是完成八零到8001的远程调用,一个调用接口方式的封装。和我们以前讲过的htp client http client,跟我们讲过那些web service异曲同工,RPC访问等等,那么他呢,大家看是不是有这么一个构造方法,然后的话呢,有了它的以后是不是就可以用这些方法,你看是不是也是什么删除啊,然后呢,就是我们get是不是查询等等,那么它的调用方式很简单。基本上就是简单粗暴,无脑,就三个分别代表rice的请求地址啊,请求的参数以及HTP相应转换成的对象,那么在使用它这个以后,我们呢?
11:12
都清楚spring boot是容器类的方式,所以说我们需要rest template这个对象的话,那么先要把它注入到我们的spring boot的容器里面,所以说我们这儿要写这么一个类,那么这个类就是代表我们的config。O,不OK,那么节约时间,那么在这一块,哎呀,这块建错了啊,不好意思,那么在这块我们的config的这么一个application context config就这么一个东东,好,那么所有类的配置,那么config写在这儿,那么接下来引入我们的rest。这么一个方法,那么return尿rest template这么一个对象,注意上面给我写一个并这一步没问题吧,那么这一块呢,快快的复习一下,那么。
12:12
郑博老师呢,给大家上过spring这个框架,一定讲过一个东西是不是叫application。什么contest.xl里面我们是不是配过这种东西,并ID等于什么,然后class等于等于什么?没问题吧,那么这个B相当于我们这用注解的方式。依赖注入,然后呢,相当于我们这儿在容器里面就有这么一个对象,好,一定要注意啊,要添加的是这个can,还有这个病,这两个不许省略,那么这些呢,我们在前面的BOO和这个给大家的讲解的cloud的时候,初级篇都给大家说过,这两个我只是提醒,在套路和步骤上面提醒一下,至于说其他的,那么凤阳老师,郑国老师都给大家讲过,杨哥这儿直接就开用了,那么带着大家一边复习一边巩固,OK,那么接下来我们是不是才可以用private,那么rest template rest template,那么根据刚才所讲的,我们是不是通过rest template完成。
13:18
订单微服务八零去调用我们的支付微服务8001好,那么。前面config这个里面。配置了以后,我们在这块就需要用resource将它注入并实例化,那么接下来我们要调用它的时候应该怎么用呢?第一个我们第一个方法是不是就是我们的public?抱歉啊,我们前面讲过了。客户端现在是八零了,他不知道后面什么一个payment什么东东,人家只要这么一个东东,所以说这一步我们呢,Create标准的right风格,然后我们这儿是不是payment payment我们要传这么一个对象过来,那么return怎么调用呢?是不是right,注意一般读操作用get,写操作我们要发一个什么鬼,底层是要发一个post请求用post for。
14:19
Object有三个参数的这个方法,那么这个方法大家请看这是不是需要有个URL,一个调用地址啊,那么你这个地址是哪来呢?根据我们现在业务是不是八零去调我们的8001啊,所以说开始我们呢。先把这个地址呢,固定好,写死了,后面我们再改,我们先跑通,那么这块是不是我们的payment,然后干嘛呢?URL。这块。完完火以后,那么弟兄们。清楚我这块要写HTTP冒号,然后呢,Local host这块是不是8001,我就知道我要去调我的8001来产生这个服务,那么好的这有个payment URL,那么在这块我们的地址啊,过来加上服务那边叫什么,之前我们是不是做过测试啊,8001,那么是不是叫payment,然后。
15:22
Create这一步同学们能不能跟上,这个相当于说把这个地址给我,我又去找8001上面rest地址是payment create的这么一个地址来实现什么?我们记录的生成和插入,我们根据我们的参数,这是payment,那么返回的是common result,然后我们的。Class,这一步同学们OK,那么把它补充完整,我们待会再说,由于我们是客服端,它呢都是发的是我们的get mapping这个请求,好,那么为了跟以前的区别,我一般在这我都喜欢写个consumer代表来自于客户端消费者,Consumer是消费者,我们后面为服务链调和讲解的时候好给大家说consumer代表消费者payment。
16:10
OK,那么。现在是不是八零要掉8001。那8001是不是才有ctrler service dio实体和数据库啊,它才是干活的,那么来调我的时候,刚才我们是不是说过一句话,叫什么自测,通过我们自己调自己的时候,我们在这块,我们这是不是有这么一个地址啊,叫payment create,那么一样我们的地啊,Consumer。在这块的话呢,消费者跟你一样,我最多就是加了这么一个consumer的这么一个前缀,代表叫调用的就是你远发八零里的微服务提供者的地址,好,那么这是我们的post,我们以get浏览器只能发get请求调用其实兆是post,这是我们的。新增,那么查询呢,读操作。
17:01
继续写。那么我们也查common result那。在这块,那么payment OK,那么接下来比方说我们就要get payment了,那么要传一个地址,那么pass the re,这块来吧,同学们ID,那么long型ID,那么这块return,那么跟前面的一样,也是rest temp.get for,什么of。那么还是我们的大的这个地值,加上我们的生。提供者的payment,然后get,然后注意。这一块是不是要加我们的pass里面的这个。ID,然后接下来的common result.class其他照旧一样,那么好,这块我们呢也是get mapping OK,那么consumer。
18:01
然后呢payment,然后呢get,然后在这块ID同学们这一步看看没什么问题吧,那么完成这个以后,我们的CTRL了,写到这也就算写完了,如果你加了这个以后,你想在这打点什么是值落个点应付这一步O不OK,那么我这儿图省事儿,那么也就不再。过多的给他打这个日志了,好,那么接下来我们完成了,如果一切顺利,就可以开始进行我们的测试,那么现在我们要干的活是不是就是启动我们的八零微服务的消费者,再启动我们的8001微服务的提供者,这样的话呢,完成我们的八零。订单消费者调用,一个是下一个订单调用支付服务,好,那么8001我们是自测通过的,肯定没什么问题,那么这一步同学们我们run好,那么八零如果也没有什么太大的问题,我们也尝试着启动,大家请看这是不是有出现一个东西,我前面提过这个run,大家西board了,然后打开我们干嘛,Show can fix in run dashboard,然后大家请看在这块以后我们这是不是有两个,一个叫80012,一个叫八零,后续我们的工程会越来越多,强烈推荐大家用run dashboard来完成我们的微服务的配置和启动工作,好,那么现在同学们请看。
19:27
我们的八零启动,我们的8001启动,OK,那首先我们呢。过来。Local host8001自测通过没问题吧?那么这是我们微服务的提供者,那么现在我们要模拟的是什么?我们的消费者,消费者由于是八零端口可以不用写,因为消费者不应该知道什么叫端口这种概念,那么consumer sum1,那么好,同同学们,如果一切顺利,那兄弟们请看我们家consumer这个地址是不是也打出了我们的上硅谷这条记录啊?
20:04
OK,那么玩到这儿,我们的全部八零就搞定好。那么。测试这块通过了以后,我们这儿还要介绍一个新的知识点。
我来说两句