00:00
然后下面咱来具体做这个辅之间调用,而它调用的话呢,要用到死人可肉里边的另外一个组件,这个组件要这个B啊,用它来做调用,而这里边有一个基本的概念,咱先大概看一下啊,这个概念我就说重点啊,首先第一个啊,这个bin,它是由这个开发的一个声明,是一个什么什么组件。然后这个不知各位是否知道啊,就这个是一个公司,它开发这个病毒组件,而S风口里边的很多组件其实都是他开发的,只是说后来用了na的替换了一个东西啊,这各位知道一下啊,Thin就用于做这个复调用,就你通过一个模块调另一个模块,然后这里写到啊,这个thin支是死人MVC中这个注解,然后让它更加方便,然后它里边更方便跟死人考罩做整合,包括整合这些东西,什么瑞啊,什么Kris,给大家一会都会介绍到啊。这是关于一个基本概念,大家知道一下,用它做负调用,那怎么调用,下面咱来看一下具体过程。
01:03
这个啊,这图我先关掉,咱们画新的一张图,首先第一个肯定你要把不在注册中心中都进行注册,这是一个前提条件,如果你不注册,你就调不到。写一下前提条件,把我们要互相调用的这个服务。肯定要在我们的这个NAS。进行注册啊,这是一个前提条件,是必须的,然后注册之后,下面我们来做这个调用,那怎么调用,我们一步写一下啊,首先第一步操作,咱就需要在里边先引入这个依赖。啊,在我们这个service的模块中,把依赖我们先引入,那咱来引下啊,它的依赖,这依赖叫这个open fee把它引入,那现在咱找到three之前都有,把它打开就可以了,就是我们的。这个依赖open c这个啊,我给它打开,这是它的第一步,先引入依赖,然后引入依赖之后他肯定会联网下载啊,各位如果之前没下,你多等一会儿让他下载成功。
02:09
这是第一步。我把这个啊给大家截过来,然后这步做到之后,咱往下做,下面来做这个调用,那调用怎么做,给大家强调啊,就是你看啊,在我课件中呢,里边有很多部分,就这些代码都是在一个地方,在咱们的调用端写代码,什么叫调用端的,看这张图上。因为咱们要实现service瑞edu是不是要调VO o Du,所以说edu是咱的调用端,或者说是我们的消费者,Vod是你的被调用端,或者说叫生产者,所以咱的代码写到我们的调用端中,就是在service ebo中写我们的代码啊,这个叫调用端。那我来写一下啊,这怎么做,在图上画一下啊,我们要做的第二步就是。
03:00
咱们在我们的调用端,也就是service edu这个服务中来写我们的代码,那它的做法就是首先啊,在这个服务中,咱们在它的启动类上面先添加一个就是服务发现那个注解啊,加一个注解,为了用那个B的那个不务发现,因为你注册之后需要找到你的服务,然后进行这个操作,那再看这注解啊,这个注解。叫IF需要加这个注解啊,这是我们的第二部分,那我们来加一下啊,注意位置到你的这个调用端,调用端是CS eduu,然后找到它里面的启动类,在启类上边咱给它再加个注解,这之前NAS这个注册再加一个服务,这个调用就是unable。叫这个。这是我们做的第二步操作,给各位给他知道啊,我把这个截个图。就是把它加上,如果你不加它,它做不到这个不调用。
04:05
第一步我们做到了啊。然后这步做到之后,咱继续往下做,做它的第三步,第三步呢,就开始写这个调用的代码,但是我强调啊,这调用代码的结构是一个固定结构,就你用这个C考里的并调用满足的都是这个结构,那这怎么写,咱先看一下,然后咱们一次性写完。它的做法就是呢,还是在调用端,你需要创建一个叫interface。然后在interface的上面加注解,这是comment调管理,还有一个叫thin client,这是什么呢?就是加上你要调那个服务名字,也就是说咱们通过wi edu调wi vod,你加的就是这个名字,把这个名字加到你这个注解上。这是要写到的,然后写完之后在这个interface里边加上你调那个接口那个地址。但是这地址注意啊,因为它是interface嘛,里边只有那个地址写上你那个调的那个地方,比如说我们是vod中它的方法,还有它那个路径地址,把这需要写上,这是它的第三步啊,是一个固定的过程,那下面我来写下啊这个操作。
05:16
脚这个位置啊,第三步。我们的做法就是在调用端。啊,注意是调用端。咱们创建一个interface接口,然后在里边呢,我们使用这个注解,就是指定你要调用的服务的名称,比如说我们调vod,使用它的名称,然后再定义你调用的方法的路径,这是第三步。然后咱们下面把这个来写一下啊,就是第一次会感觉比较陌生一点,你写多也就记住了,因为它的过程就这么来做的。那咱们操作啊,来到它的启动类上边。对,先关掉啊,就是咱重新启动。
06:00
启动类。啊,不是情类在这个丢种啊,咱们先加一个interface,那我先起个包,比如这个包我起个名字啊,就叫这个。名字随便起啊,然后在里边创建一个interface。这个比如interface,我就叫vod。啊,建个interface,然后创建之后,在这个interface上面,咱首先加第一个注解叫那个comment,就表示交给使人管理,然后加完之后再加第二个注解,这个注解叫B,这注解里边我们要加上它那个调的那个。服务的一个名字啊,就是我们来一个啊,直接就加上这个服务的名字,然后服务名字呢,加的就是在里边注册这个名字叫service-vod,咱们把它加到里面去啊,就加上这个。然后直接加一下,这是我们做的这步操作啊,这是必须的啊,这名字必须要写对,而且的名字就是你在vod的配置文件中的名字,因为这个名字在注册中心中会注册进去就写它就不要写错啊,建议各位最好复制。
07:12
这个完成了,然后完成之后呢,在这个interface里边,我们就定义你要调用的那个方法,它的那个路径。那这怎么写给大家说明啊,因为咱们现在e Du是不是要调VO Du,而咱把vod找到在vod中呢,它要调的应该就是咱们刚才上节课写的这个方法,根据视频ID是做删除,那咱怎么做呢?一种最简单方式啊,咱们就直接把这个vod中的方法复制过去就可以了,这不需要你敲把这复制,因为就调它,然后咱们把它就复制到我们这个interfe里边来给它复制。复制之后呢,咱需要改个地方,就是把它路径改成个完全路径。什么叫完全路径呢?之前叫vod,但加上这个部分。
08:04
把这路径给它写到完全。就是这个都给它加上。这个是我们写到的在inter f中定义你要调用那个地方的方法的路径,因为咱们最终要调的肯定就是这个方法,那你把它的方法里面的参数定义写过去,然后把路径写的完全点,把这路径都写出来,这样的话就可以了,这是我们的第三步,而这些路径不需要各位敲,你通过那个vod里边把这直接复制可以了,比如说你调别的方法。那把这个复制加上你这个完全的这个路径啊,这也就是我们说的第三步。就是这么来做的啊。这各位给他知道啊,这一个固定的。然后后面再有方法往里面加就可以了,这些不要写错。给咱们啊做一个说明,然后这个过程中呢,它里边有这么一个细节,希望各位要特别注意啊,我在课件中也写到了这些,没有什么特别的,然后大家看这里啊。
09:03
这里写到。就是你在这个pass这个注解里边一定要指定参数名称,如果你不指定会有问题,也就是说我们现在啊,大家看啊,这里边是咱们从那边复制过来的方法,Pass这个注解是不是取你的值啊,而这个值你必须要指定一个名称,比如我叫ID就必须要写,不写的话会有问题啊,这名称跟他一样就可以了。这一点各位要特别注意啊,我在课件中特别标注到了这名称必须要写。这是我们调中比较特别的一个地方啊,因为它要根据名称去找里面那个参数,包括给他传递。这个第三步啊。我把它截过来。所以这样的话,我们的。第三步就完成了,主要就是写上这么一部分啊。然后这个选完之后,咱看第四步也是最后一步,最后一步呢,我们就实现它最终这个调用啊,咱们把它调用一下就可以了,比是最后一步,我们在实现删小节的时候,就把它的视频给它删掉,把这个这种做一下啊来写一下最后一步。
10:13
第四步。啊,要实现这个代码。删除小结,删除阿里中的视频,把这个调的过程最终咱给他做一下啊,那咱们看这怎么做啊。咱们找到啊,先找到咱的方法位置,因为咱们删小节应该是在SERVICE1丢里边,那我找这个方法。应该是在。然后这个ctrler啊,删小结应该是里边的这个方法,那我们现在在这位置,我们就给它做这么一个操作,删小结删视频就能做个实现,那咱们啊,这个怎么来做呢?给大家说一下啊,就是首先呢,因为我们之前都写到CTRL中,其实咱可以把这个写到Switch中,我就在CRL写了,那咱们写一下啊,它的做法就是因为我刚才在这看里边咱是创建个interface,里边有这方法,所以做要就是你现在把这interface注入到这CTRL中来,因为咱要用里面方法。
11:13
那我来做个注入。注入在这个叫vod。Client就加上一个叫o to,然后加一个private vod client vod client把这注入,而注入之后咱就可以直接调里边的方法,就是咱们刚才定义的方法,刚才的方法,这个方法里边传入一个就是视频的ID就可以了,我先大概写一下啊,一会儿咱们给他完善。传一个你的视频的ID,这样的话这个就可以做到啊,它里边就这么来调用,就是你把这个定义的interface注入进来,然后调里边我们的方法,把这个过程就能实现,它又能实现调vod中的方法。这个啊一个基本结构,然后这过程中呢,它的底层是怎么调到的,给大家来说一下啊。
12:03
各位注意啊。这个是不是一个interface接口,而咱的interface接口对应的一般是不是有个实现类啊,比如说我们的servicece有这个interface是不是有实验类啊,但你发现啊,这个是不是只有interface,咱在这里边没有些实验类,而大家实验类是什么?你可以理解为啊,它的实验类相于他会怎么去做呢?当你去调这个接入中的方案的时候,他就会根据这个服务名字去远程调到你的VOOD,把vod这种方案给你拿过来,这个过程相于给我们创业实验类做调用啊,它主要写接口,然后它那个调过程通过一种方式叫远程调用,这是一种说法啊,就是你通过edu根据服务名字调VD中这个地址方法,把这方法接入值给它传过来,这是它本身一个过程,所以它你可以理解为远程调的过程,相当于咱们实现类那个过程,只是它是用这个服务名字通过注册中心做的调用。
13:03
好,所以这个各位都知道啊。咱们写法就这么来做,然后写完之后,最后把这个方法我们做完善,看怎么写啊,那把方法改一下。各位看到啊,在这里边呢,我们现在它的原始方法是删除小节,也就是说啊,这个ID是小节ID删除,但是现在我这位置你不能传ID,因为这ID不是适配ID,咱要根据适配ID是不能删掉,那我现在咱要怎么做?这是不是小节ID啊,那咱根据小节ID把视频ID是不是要得到,得到之后再调方法是不是才能做删除啊,所以咱们这个过程我在里边写一下啊。它的过程就是先根据我们的小节ID获取到你的视频ID,然后再调用方法实现这个视频的删除,咱们是这个过程啊,那我这里边给各位来写一下这个代码,咱先看第一个。
14:02
根据小节ID得到视频ID,那咱看怎么来做的啊,先看一下表里边ED video这个表。小件ID,咱根据他一查,在查出的对象中是不是就有视频ID,那我们把这ID得到一调就可以做到啊,那咱们来写一下啊,先查询。查询的话,根据小加D查,那我们看啊,这是在C中来调这个service。就是video service里边的方法,根据ID查,就是这个get ID,然后传个ID里边得到是你那个就是video这个对象。这得到了啊,然后得到之后呢,咱通过这个e video得到里边那个视频ID,就是一个叫video source ID,这是我们那个视频ID,然后得到之后,咱们把市面ID就传到我们这里边来,应该就可以了啊,直接给他就传过来。就是传到你的方法中做一个调用。
15:01
加个注释啊。它就是根据视频ID,我们。做到一个叫远程调用,然后实现视频的一个删除啊,所以这个就是一个基本代码。但是过程中呢,咱这么写啊,会有一个小问题啊,咱看表里边。因为我现在视频ID中是不是可能没有值啊,如果说你没有视频,那咱是不是就不需要删呀,有视频词是不是才删,没视频你删肯定会有问题,因为它没有这东西,那咱现在给他做个判断啊,也就是说我这video source video搜索ID,如果它只不为空,咱再删除等于空,那我就不定删除给他判断一下哈。就是判断小结里面是否有这个视频ID。啊,咱们写一下啊。然后判断之前单都写过了啊,直接加上这么一个工具类,String us.is empty,加这个叫video ID,就是如果说它。
16:01
不等于空,加上感叹号就是一个非,然后最终在里边再调方法把它可以删掉啊,所以这样的话,这个方法我们就完成了,先根据小DID得到室面ID,再判断室面ID是不是等于空,如果不等于空,我们调这个video就vod可按中的方法通过远程调用把这删掉,然后删完之后我们最后再去删除你的小结。这个啊,是咱们最终的这个代码。咱就写完了啊,所以现在这个注释可以去掉了,因为咱们都做到了,就删除小结,删除对应的阿里中的视频。我把这个代码给各位。接过来啊,直接我就放到这里边。就是这部分啊,所以咱们就写完了啊,然后写完之后呢,在这里边有这么一个细节问题,给大家再强调一下啊,就是什么细节。你注意我现在删的一个顺序,我是不是先删视频,然后是不是再删小节啊,所以各位注意啊,这顺序啊,你不能先删小,就是说你不能这么写,你把小结放到前面先删掉,这做不对了,为什么不对了,你把小节删掉之后,那你注意这条记录式就没了,当你根据ID再查这视频ID是不是查不到了,所以咱们要先把视频删掉,再删小结,你先在小结,比如我先删他那里边数据没了,我再根据ID查这个视频ID肯就查不到了,它已经删掉了。
17:29
所以咱们注意顺序啊,先删视频,然后再删小结,因为你小结中需要有视频ID需要查询的。这个啊,这细节各位给到注意啊。所以现在这个完成了啊,就关于我们这个这种代码,通过文口里边的NAS,包括这个B做到远程调用,就是一个模块调另一模块,这过程叫远程调用啊,咱说这个术语啊,写一下它叫。远程调用,通过远程调用方式,咱就把这个删小结删视频功能,我们就最终做到了。
18:05
就是这么一段基本代码啊,咱就写完了啊,然后写完之后咱再看一遍这个过程,最后咱做一个最终测试啊,看它最终的效果什么样,咱看一遍啊。首先第一部分narcos咱给它启用起来,启用之后访问到这个界面,然后做完之后把你要互相调的两个服务在注册中心中进行注册,咱都加了依赖,加了这个配置,然后加了行类,也都注册过了,最终在里边能看到你这个服务。然后注册之后咱实现一个调用,通过edu调vod,我们的做法就是在调用端实现,因为是edu调vod,所以edu是调用端,那调用端怎么做?第一步就是先添加上这么一个依赖,就这个依赖,就这个open费不调用,然后加上之后在启用类上面,注意是调段的情类上边加上一个注解,为了做到这个。服务调用过程是这个注解叫unable FA client,然后加上之后第三部分创建一个interface,在里边指定你要调到服务的名字,因为咱是wi vod,这是你要调用的服务名字。
19:14
加个注释啊。调用的服务的名称,包括在指定你调的那个就是CTRL的地址,这是我们写的一个地址,你把这方法从vod中复制过来,然后加上这地址就可以了,这是我们写的第三步,然后写完之后最后一步咱就做这个调用,那过程就是先把d kind注入进来,因为它要做到远程调用,里面有接口,它的实验类就是远程调用过程,最后在里边根据小件ID得到视频ID把它删掉啊,当然过程中注意你要先删视频,再删小结,如果你先删小节的话,那视频就删不掉了,那数据已经删没了。这个顺序要注意啊,这样的话我们就完成了完整这个流程啊。然后完成之后,最后咱们把这效果,我们就最终来试一下,看一下最终的结果什么样的。
我来说两句