00:00
就上节课把基本概念说完了,然后这节课咱来具体说一下S文考里边的相关的组件,或者说里边相关的框架,用这些框架来实现我们的功能,那咱要做什么功能呢?我们来看一下啊,咱通过功能给大家分析这组件的场景,咱先看第一个功能,其实两个功能一样,第一个功能呢,咱到这个功能就是删小结,删视频。那我们看一下啊,大家注意,在我这个课程大纲页面中,这是章节,这是小节,而咱们当时章节删除的方式就是咱不知道各位是否记得啊,我们删章节的话,如果下面有小节,但是不让他删,每小节是不是才删除,但是小节咱删的话有一个特点,当咱删小节话,把里边视频是不是要删掉,那我们找一下我们当时那个删小节的那个代码。把这找到啊。找到我们的CTRL里边删小节,咱当时代码应该就是这个代码,在代码中呢,当时我特别加了一个土do,一个注释,就后面咱要完善,这里写到就是后面这个方法需要完善,咱删小节的时候,要同时把这个阿里云中那个视频给它删掉,咱要做这个功能,所以这个是咱们下面要做到删小节,要去删视频。
01:22
那这功能怎么来做,给大家做个分享啊,这个过程咱就用微弧的方式做到,那怎么做呢?首先第一种方式,有同学说我在这里边啊,直接把那个删除代码写到这里边,可不可以,可以没有问题,但是他现在按照微服务的方式,注意我刚才提到微服务什么意思呢?就是咱把我的项目划分成多个模块,或者说多个服务,而每个服务都是独立运行的,每个服务中做它专门的功能,比如说你看我这里边e do中本就做课程的,Oss中做OS操作的,Vod中是做视频的,而咱们刚才在vod中咱是不是写了一个方法?
02:04
来看这个方法啊,上节课写过的。看这方法,这方法是删视频的,所以我们现在呢,就是第一种方式,你可以把这代码复制到你的edu中可以,但是这么做的话,它就不叫V服务了,那咱怎么做呢?我这么来实现啊,我想通过e do里面这个方法去调VOOD中的这个删除这个方法就是通过这个模块调这个模块中的方法来实我们的功能,这个功能叫V服务。刚才刚才提到两个模块是独立运行的,但是他们之间可以互相调用,那怎么调用?就用到我们此轮可乐里面这个技术,通过edu去掉vod中的方法,因为咱们edu中我只写课程相关的,而VO o Du中写视频的,Edu中里边调vod中的删除方法,把功能做到啊,这是一个实际场景,包括在实际的开发中说一下啊,假如现在实际开发中,比如e Du是你们这个项目组做到的,然后VOOD,比如是别的组做的这个模块,那你们组是不是要调别那个组的模块才能实验的功能,这过程就是微复调用啊,那怎么做?给大家我先画个图,咱继续来说这个过程啊。
03:18
那我画一下啊。咱要做的就是删除小结,然后删除R0中的视频,那怎么做呢?在咱过程中呢,有两个模块,或者说有两个服务,我在里边画一下,咱们两个服务就是第一个服务是在那个service edu。这是第一个服务,然后第二个服务叫service vod。在edu中呢,我们刚才是有一个删除小结的。这么一个方法,然后在这个vod中,咱是有那个删除视频的方法,我小这位置啊,这是删除视频方法,那现在因为咱们要删小结,还要删视频,所以怎么做呢?我就要在这个删小节这里边去调用vod中的方法。
04:11
就是调里边那个删视频方法。这位置这个调用,也就是我们要实现你的不同的模块或者说不同负件调用,通过edu调VD把这做到,那这怎么做?给大家说一下啊,首先呢,就是我们通过edu肯定不能直接去调离vod啊,另外的同学会想,我把vod的依赖引进去可以吗?引进去是可以,加进去之后这就不叫V服务了,这两个就有关联,加上它目前是没有关联,就是你edo vod,比方是独立的,没有什么依赖关联,你要关联就不叫微服务了,那他也不能引入依赖关联,那怎么做呢?但是我们现在还需要用到e Bo去调vod,那这时候我们要解决的问题。好,我再说一遍啊,什么问题啊。
05:01
因为现在edu里边咱们有删除小结的方法,而我还要删视频,因为是微服务架构,所以咱把删视频方法是写到了vod中,我想通过edu去调vod中的方法把功能做到,那怎么做到按照V服务方式,咱就要用这种叫做。模块间的调用给它实现,你不能把它引入,引入之后就不叫微服务了啊,咱要让它是独立运行的两部分,就这是801,这是803,那这个过程怎么做到,给大家写一下啊,首先我们要做的过程中,它需要用到可里边的第一个组件。这个组件。它叫做注册中心,咱现在用的注册中心是这个叫做NAS,就刚才我们看到这个东西na na cos。这个表示一个叫注册中心,而注册中心什么意思,给大家说一下啊,我先把这过程说一下,就是你做法就是第一个用到注册中心,那怎么用呢?咱就需要把我们这两个模块或者两个服务在注册中心中先都进行注册啊,就是注册到这个注册中心,把wis e do注册进去,然后把这个vod也注册进去,而注册中心用的叫NAS,这是我们要做的第一步,而你在注册中心注册之后,他们就能实现互相的调用啊,这是咱们这么一种做法。
06:31
那为什么能实现给大家解释一下啊,我先解释啊,什么是注册中心,这先说一下。注册中心呢,这个词说的很官方,给大家说一个比较现实的例子,这例子是什么呢?我小的位置啊,这例子就是它叫做。房产中介。这是一个很典型的注册中心例子,那咱想这房产中介不是各位是否跟他有过接触啊,说一下这个过程啊,咱说正规的房产中介啊,就是房产中介做的事情是什么,它是不是就连接你的这个租房者,或者买房者跟那个房东之间是不是一个桥梁啊,假如现在举个例子啊,比如现在呢,我有一套房,我想去出租,那现在我出租的话,我已经找不到别人在做这房子,那我怎么做呢?我把我这房子信息在注册中心中是不是做个登记呀,说这房子多大,在什么地方,然后你每月给我100块钱,我房子就可以租出去,大概是这么一个过程,在里边进行注册,那注册之后,假如说现在我们班上某同学要去租房,他来到了注册中心,那注册中心是不是把它里边登记好的房子给你做介绍,说这个房子怎么样,这房子怎么样,然后你从中是不是挑选出适合你的房子。
07:50
这就叫房产中介,大家注意它起的作用是什么?是不是连接你的房东和租房者出现一个桥梁啊,就是你的房东在里边注册信息,我这个租房者在里边也可以注册,我要什么房子,当有合适的匹配,那就完成这么一段交易,这个叫房产中介,这个要明确啊,你会想这个租房的过程,就是你在里边注册你房子要出租,然后别人满足他的条件,他就会联系你把这房子租出去,但是通过房产中介建立你中间那套桥梁,通过他联系你们双方这么一个关系,这叫房产中介。
08:27
啊,这个我知道啊,所以它就是一个典型的注册中心的例子啊,当然咱说一般情况啊。就是在这有一个很著名的一个卖房的叫某某某某,我就不给他做广告了啊,就是这个中介啊,其实他跟这个刚才我说的过程有点区别,大家了解一下啊,他是怎么租房子的,就是他把钱,他把房子先租下来,然后他当一个叫二房东再租给你。这个公司是这么做的,叫某某某啊,但是真正的中介应该是你在里边注册,别人该你的条件把你房子租下,连接租房者跟房东之间的桥梁,这个叫注册中心,而咱现在就这过程,比如现在我想通过edu去调vod,默认肯定不能直接调到,因为他们是不同的独立模块,那咱怎么调到,咱就需要让两个服务或者两个模块在注册中心中进行注册,当你都注册之后,他们就能实现这些邮局,好比说我把地址包括什么联系方式都给了中介,然后别人一租房能看到地址和这个什么,这个电话可以联系我,这就是这么一个过程。
09:36
所以咱们调用需要用到一个叫注册中心,把你要互相调用的两个服务在注册中心中进行注册,当你注册之后,他们就能实现互相调用,就是我说这个租房和房产中介的过程。所以各位把这个过程给他,要知道,你就想那个房产中介理解我们的注册中心跟它过程是一样的,就总之一句话啊。
10:01
咱们不同的微服模块之间要进行方法的调用,那咱需要把你互相调用的模块在注册中心中要进行注册啊。就是这么一句话,这是咱们做的一个说明啊,我把这句话写下啊。就是你要实现不同的微服务。模块。他们之间的一个调用,那我们就需要把你的这些模块。在我们的注册中心中进行注册,当你注册之后,他们之间就能实现互相调用。互相的这么一个调用,所以这个啊,是咱们说的一个基本概念啊,大家反正知道啊,通过我的介绍,你先理解什么叫注册中心。这个咱就说完了啊,然后说完之后,咱看到我们具体的技术实现。因为咱们现在做这过程中要用到瑞cloud,而在spring里边呢,给咱就提供了一个注册中心,那我们来看一下哈,看我就是微服调用中的第二个笔记,这里写到啊。
11:12
首先这里说到我们现在做的中心用的是这个东西叫它叫做nacos啊,但是这个东西啊,如果说你到百度去查怎么读,它的读法,就是一个职译,就叫纳克斯纳克S啊,所以咱们读成它啊,然后这个东西这里写到它是阿里巴巴推出的一个新的一个开源项目,它利于构建就是我们的各种功能,就是主要做到我们的注册中心,当然还有其他功能啊,那咱们先看这个地方啊。你看这里边,就是我刚才图上也特别画到了,大家看这里啊。其实就是用这个。就是我强调啊,在此用cloud,他早期做注册中心,其实用的不是nacos,叫这个叫做E瑞口,咱现在其实也能用E瑞克,但是咱为什么不用E瑞克了,给大家这里写到了E瑞克是子轮口里边最原始的注册中心,因为它在2.0开始啊,就遇到了性能的瓶颈,所以2.0以后它就停止维护,就不进行更新了啊,其实不能叫性能瓶颈,我觉得应该是这个过程,他想去再更新也可以,只是说他这更新要花费更多时间,所以他就不想更新了,想做一些新的产品。
12:25
所以现在呢,我们用住的重心,这个E瑞克现在慢慢被替换掉,当然不排除有些项目还在用它,而现在咱用什么来替换E瑞克,就这个东西叫NAS,用NAS能替换瑞克,因为S比瑞克功能更加强大,比它的性能更加好,所以咱现在用nacos作为我们的注册中心,而nacos是这个公司,就是阿里巴巴推出一个东西,因为阿里巴的东西各位都知道,阿里巴巴在国内技术肯定是顶级的,他提供的东西肯定是最稳定的,所以咱们用nacos作为注册中心啊,这是咱们提到的啊。
13:03
然后这里边还写到就是我们注册中心的,除了这个E瑞克na之外,还有一些其他注册中心,比如说这个注册中心是一个很著名的中西啊,叫组keepper,后面咱也会有一天课专门讲组keepper加double架构,后面说到啊,咱现在用这个叫NAS,另外还一个这是也是一个原生的,是这个构元开发的,但是我们用na,因为这个用法最佳的方便,包括更加简单,性能也更加强大。这个啊,是咱们一个技术选型说明用NAS,这各位知道啊。比如说以后在面试中,别人问到你啊,说你们用的什lo的,你们怎么用的,给别人说出来,我们在里边注册中心用的是NAS,我们用E。这个啊,咱提到的,然后下面也写到了,就是NAS呢,相对于与Z口,它的功能更加强大,而NAS能替换出磁人口里边的原生的很多东西,咱还是看这张图,你看里边啊,在磁口里边有一个叫config,还一个叫bus conig叫做配置中心,后面咱会讲到bus是一个叫消息总线,相当于咱之前学那个就是消息队列,而用S也能替换这两个,就naco的一个人能替换成三个,把注册中心,配置中心和消息总线,Nacos都可以做到啊,这咱后面也会讲到,咱今天先用它的第一个最基本的注册中心,这叫NAS。
14:33
这个啊,咱对技术的一个说明啊,包括这里写到。就是通过里边的server和这个实现注册和发现,然后NAS有各种功能,比如什么服务发现,什么动态配置等等啊,这咱后面会提到,今天主要用到它这个复发现有过程,这是关于技术说明。也就是最后一句话啊,我们现在作为注册中心使用的技术是这个叫nacos,咱们替换成了它原生的E瑞口用narcos,最后我们的技术因为NAS更加强大,它能实现更强大的功能,并且效率更加的高。
15:07
这个啊,咱做一个介绍,然后下面这张图呢,就大体上画了一下,那里边这个基本过程给大家啊,我来。特别说一下啊,这张图。呃,那这图我就重新画一个啊,咱重新在里边画这个图,关于那扣子,它那个就是执行的一个流程。好的这个位置啊,然后它的流程是怎么样的呢?咱来说一下啊,首先在里边呢,有三个地方,这三个部分。第三个。我看一下啊,这三个是什么呢?首先第一部分就是咱说那个注册中心,我们叫做NAS。Na cos注册中心,然后除了注册中心之外,在这里边还有两部分,这两个是什么呢?它有两个术语的描述,再看图上啊,大家看这单词。
16:01
叫custom,还有一个叫provider。什么意思?Provide是不是提供provide提供者,Custom是不是叫消费者,就是一个叫提供者,一个消费者,或者说叫生产者消费者啊,这是两个概念,然后写一下啊,这个比如说我们叫生产者。然后这个咱们叫消费者。啊,这说的比较官方,说的通俗点,生产者就是提供方法的,消费者就是调用方法的,这是两个地方啊,我写的通俗点,这就是调用方法的,这就是提供方法的。这是它的两个地方啊,然后这个过程什么意思,按照我们的实际,比如我们在实际中咱要通过我们的service edu,是不是要去调那个v Du,通过e Du调vod这样的功能,所以在这过程中大家注意啊,你看这过程中谁是生产者就是谁是提供方法的。
17:03
这是不是挺供方法的,因为咱要调这种视频,我在vod中是不是写商视频方法,而edu就是消费者他要去调vod,所以这是生产者,这是消费者啊,这个要明确生产者和消费者,然后在过程中我们怎么做到呢?首先第一部分咱们需要让两个服务在注册中心中都要进行注册,就是在这里边我们都给他注册进去,你把生产者在里边注册。画个图啊,这条线在里边,我们要做一个注册。然后咱们的消费者在里边也要进行注册啊,这也可以理解为是他的第一部分,两个这个微服模块在里边都要注册,那注册是怎么注册的呢?其实这个不用想的特别复杂,因为大家知道啊,咱们去访问我们项目中的某个这个就是CTRL的,咱是不是通过IP和端口号进行访问的。
18:01
所以它的注册方式就是根据他的IP和端口号进行注册,在你里边有他的IP端口号,然后进行注册啊,就这个过程,然后注册之后,比如现在假如说我这个生产者在里面注册了,那我消费者就是在注册中心中得到他的IP端口号,然后得到之后根据IP端口号对我这个生产者做一个调用。主要就是这么一个基本过程啊,这个过程我再说一遍啊,它的做法就是注册中心中咱把互相调用的两服务在里面注册,那怎么注册,他们就是根据IP端号进行注册,假如说我这个是1921681,点幺端口号是801,然后把它在注册中心中注册了,然后注册之后我们要调用怎么调用消费者。到注册中心中先得到他要调的服务的IP端口号,然后得到咱刚才的IP特网号,得到之后怎么做,它就是根据。啊,写一下啊,注册中心里边得到的那个艾比顿号的地址,然后直接去访问我们的生产者,最终得到我们这个调用的方法,得到你的结果,这个就是那cos一个基本流程,也就是里边这个过程,在里边先注册,注册之后得到里边那个地址,然后根据地址进行访问,返回你的对应结果,然后你看里边就是根据你的IP端口号做这个操作。
19:26
啊,这个是咱们说的一个基本过程,比如注册中心起到的就类似于咱们一个房产中介过程里边就是连接你的租房者和这个房东桥梁,或者说连接生产者和消费者的这么一个桥梁,这个就叫做注册中心。啊,所以大家把这图给他有个认识啊,咱们现在做的就这过程。本质上还是用IP端口号做一个访问。这个啊,咱们把理论这个介绍啊,这是第四个。关于我们说这个NAS这么一个介绍。
20:04
这个咱就说完了啊,包括咱们后面有一天啊会讲到叫组keepper,组keepper的过程跟这个差不多,因为他们都是柱子中心,咱现在先说的是na。啊,这么一个流程啊,然后说完之后呢,下面咱就按照我里边的这个过程,咱把这功能我们最终就做个实现。那实验什么先看一下啊,首先因为咱要用到naco的注册中心,所以NAS咱首先需要给它安装,然后安装之后把你要进行调的服务,在里边做一个叫服务注册,然后注册之后最终在实现它那个调用啊,主要咱下面来说这个NAS,它具体怎么来使用,这过程要各位不要给到特别熟练啊,过程并不复杂,主要就是一个固定流程。但是各位啊,要给他特别熟练,因为这个过程在后面的项目中,包括在以后的企业开发中。肯定会用到这个流程。
21:00
那咱们啊,下面来具体说一下啊。
我来说两句