00:00
咱们下面啊,就来总结我们这个在线教育项目中技术点这个后端的这个技术,这里边涉及到技术是比较多的,那咱们详细来说一下啊,里边用到了哪些后端技术。我来写一下啊,首先我写第一句话。各位记住啊,第一句话就是一般来讲,比如说你在介绍你的项目时候,一般第一句话对你的项目有一个总体介绍,咱介绍技术中也一样,那咱们项目采用的方式是什么?咱用的是不是叫b to c开发模式,然后咱们这个后端部分用的是不是一个叫这个叫微服务的架构方式?这个要知道啊,所以第一句话我写的就是我们这个项目采用的叫做微服务的这么一种架构啊,咱们确实也是这么做到的。这是第一个啊,然后这里边是一个概念叫微服务,咱当时一直在说这个词啊,什么叫微服务呢?我快速解释一下啊,我就不写了,因为之前都写过了,微服务台的作用就是你现在在做项目的时候,可以按照你项目中的功能模块或者相关这些业务模块,把你项目拆分成多个独立的部分,而每个部分都可以独立运行,独立部署。比如说咱们现在我就根据我们这个业务,比如edu是课程相关的。
01:20
CS班ner相关的order订单支付的,Sta是那个统计分析的,U3的是用户的,咱现在把项目是拆分成了不同的模块,而每个模块咱是不是都占用了不同的端口号,在咱部署的时候,每个模块是不是都是独立部署了,因为他们模块之间没有相互关系,他们有关系也是通过远程调用做到的啊,所以这个是第一个概念叫V服务。大家要掌握这微服务到底是什么意思,如果别人问到你啊,一般当然现在来讲啊,这微服务应该是公司里面一个标配性的一种东西啊,如果别人问到你说你项目是微服务呢,那咱绝对是,如果你不是微服务,那你做的。
02:02
有这么两种情况,要么你项目比较老,要么你项目做的不是互联网项目,可能是某公司,比如做一个普通什么管理系统,所以咱们现在项目一般都是微服务啊,这是第一个,我们项目采用的是微服务架构。这句话各位要记住啊,然后呢,往下看看里边的具体技术,这里边技术很多,首先咱的第一个技术啊,当然我强调这个技术中呢,我就不说一些比较通俗技术,比如说咱用的idea。什么这些买circle,这我就不说了啊,这些都是最基本的,咱说里边几个主要的部分,首先第一部分咱们项目开发中用的是不是都是这个叫。布,咱们建的是不是都是boot工程,然后用它做操作,然后咱们项目中还用到这个东西叫做W。是不可漏的,用它来实验我们的微服务的架构啊,这两部分是两个主要的,然后除了它之外,还用到了里边一个东西,比如咱们在项目中学到的这个东西叫做。
03:01
My be plus用它来操作我们的数据库啊,我先都列出来,然后咱一会继续来详细说里面一些细节。这个啊,应该是三个比较主要的啊,然后还有其他的,比如说咱项目中在做那个课程分类添加,咱用这个东西叫这个叫做easy。Excel啊,用它这我们的功能,包括还有一些其他部分啊,咱一块儿总结,我们先看里边的。这么几个。那我们来啊,一个看一下啊,就是第一个损部,因为咱们项目建的就是一个部的工程啊,用这个来做的啊,包括这个位置中肯定用到我们的ma mavo就不写了,咱是一个SBOO工程,然后损boot,各位要知道啊,这个技术点应该在目前是最实用的,基本上我们做的项目用的都是SBOO,用这个来创建,那你要明确第一点啊。不同。它到底是个什么东西,各位要明确啊,我这里给大家写一下啊,责任不,你列为它本质上就是谁。
04:02
就是人,它只是我们这个快速构建你工程的这么一个叫做说的官方点啊,叫做脚手架。啊,脚手架。说的通俗点,就是一个快速构建死人工程这么一个工具,用它之后咱可以少一些很多配置,它里边把很多东西会帮我们做到,这叫boot。所以目前在开发中,我们基本上用到的都是STEM boot这个工程,用它来实现。这各位给到知道啊,然后在此boot里边呢,有一些细节问题给大家来说一下啊,有一些细节也是咱们项目中真正用到的一些东西,那我来说明。咱们来到里边啊,首先我说第一个细节,就是咱现在就找到我们的启动类。在启动类中呢,有个特点,各位记住啊,第一个特点,你的启动类,因为启动类嘛,我们所部的工程用main方法作为我们的程序的入口,所以当我们在启动这个,或者我们在运行闷发的时候,这闷方法有它一种包的扫描的一种机制。
05:10
这个我要知道啊,我写一下第一个就是我们的损部的工程,它的起重类,它那个包扫描的。啊,这么一种机制,这个我要知道啊,那它机制怎么样呢?给大家说一下啊,之前也说过,它在默认情况下扫描机制是不是从外往里扫,所以你注意我请用类的位置是不是在你所有包的最外层,然后他扫就是扫你这里边的这些内容啊,这是它一个默认的扫描机制,各位把这个知道啊,但是它的机制咱也可以改,就是咱们当时啊加过这行注解。就这行注解不是各位是否记得啊,叫com死看,表示指定它的扫描,你看怎么扫描,就扫描这个包那种,因为咱这包叫commonv股,咱当时这么做的目的就是因为咱要扫到common里边的这个内容,比如你看common中。
06:04
都叫com.at硅谷,然后后面不一样,要扫这里边内容,所以咱们加上这么一个扫描机制啊,这个是可以做到的啊,然后写一下就是它扫描机制,然后大家可以设置它的扫描的规则,我们用这个注解是可以做到的。这各位啊,给他要记住啊,因为咱们项目中就是在用这个东西,也是一些这技术部分,通过这个common死看来做设置,这加上你那个扫描那个包的那个路径。这个啊,两个细节咱们之前也都用到过啊。然后除了这个之外,咱们在做用这个布的时候,咱在里边呢,当时之前一直也在创建。这么一个类,咱找到啊,就是这个类。就是他。叫EDUB,这是个什么?是不是一个配置类啊,比如说我在这个部过程中可以垫个配置类,当你在启动这个损步工的时候,它也会把配置类里边内容给你做个加载,这些配置类中写内容跟你写到情类里边是一样的,就是咱一般建议把情类中写些基本配置,然后把其他东西都放到我们的配置类中,就是加这个con,比如说你的外扫描这些都放到配置类中,或者一些插件的配置啊,当然你都写到情类中也可以。
07:25
这个啊,是咱们当时说的这么一点啊,就关于这个配置类的这个部分。所以这是死人boot里边这个内容啊,然后除了他之外,在里边还有一点也是咱们在前几天讲到的啊,咱就给他综合总结一下啊,大家看这位置。这是什么?是不是它的配置文件,也就是说boot这个工程这个配置文件里面有些特点啊,那我写第三个啊。关于我们这个死人不?它这个配置文件首先第一个大家知道啊,在此boot工程中,它的配置文件有哪些类型啊。
08:06
你看我这里边啊,这什么类型,是不是一个proper啊,当然这是日志的啊,就是不是本身使用不一个叫pro,还有一个类型是那个样的格式,主要有这么两种类型。写一下啊,Properties。还有一个叫样M的格式,这是它的两种配置文件类型,然后咱在应该是在我们前一天,你可以说一点啊,就这boot它的配置文件有一个加载的这么一个顺序,就是它先加载哪一个,后加载哪一个,有一个加载顺序。我说各位是否有印象啊,就是这种问题啊,别看小在面试中边可能会问到你就boot配置文件有哪些,它怎么加载的,你把这过程要知道啊,那给大家我再来重复一遍啊,咱之前讲到过,首先第一个。你注意啊,就是在我们这个BOO工程中,其实他首先加载的并不是the application是谁,这个文件叫boot,然后putp加载之后,他去加载我们的application vacation,就是之前咱没有写,没有写这文件,所以他直接就是先找他没有,然后找这个application在里边写那种。
09:12
包括如在里边加上D的话,它会找这个叫杠DV这么一个文件啊,这是配置文件这么一个加载过程,各位把这个知道啊,然后写一下。首先有一个叫boot。STP啊,这么一个文件,然后里边还有一个那个va。如果你在里边加上那个叫profile active,然后它可以滚件叫这个,比如杠。DV啊,主要有这么一个基本的顺序,我就简写了啊,这些单都提导管啊,这是损boot配置文件的这么一个加载啊,所以这是关于里边一些知识啊,主要针对这个。知识点内容啊,包括各位在之前在框架高级中专门有一天应该讲到过总部的,你把那一天的更细节的东西再看一看,我们这里边总结的是咱项目中用到这些点,包括第一个人boot就是死人,它就是一个快速构建项目的脚手架,然后第二个包扫描机制帮你设置规则,另外它的配置文件有pro有样了,你可以给它的加载规则啊,第一个各位给他知道,然后置文件中,我强调在实际的公司项目中,你说用哪个类型不一定啊,就是有些人喜欢用pro,有些人喜欢用yam了,但然各位如果说你这么看,你到网上去搜你会发现啊,大部分网上代码都是用这个类型。
10:38
啊,当然有人不排除用这个类型,两个用法都差不多啊,只是说不同的用法而已,这是关于啊BOO,咱项目中就是在用这个东西啊。我总结里边几个就是细节部分啊。这各位给都知道啊,咱们做一个说明,然后除了这个之外,咱来看第二部分,就是咱们之前用这个叫cloud,我强调啊,死人boot,死人可lo这两个东西在实际项目中可以算是目前项目中一个标配性的技术,应该说不能说100%,至少说大部分项目应该都是这么做的S啊,包括之前问过很多之前班上的同学,他们有工作的,或者我之前很多同事,他目前用的。
11:21
大部分都是这种架构,很少用别的架构,但是不排除有的公司基础比较老,比如我问到一个同学啊,他公司技术特别老,我知道他用什么呢?用这个技术。叫SH也用,它就是最原始那个to spring have ne,这记住现在用的很少,但是它公司就用这个很古老啊,但是这个绝对是个个例,大部分公司不会这么用。啊,所以咱们掌握最主要的啊。于90%的公司应该都不会用SSH了,这种技术啊,有点古老了啊,包括不是说这技术不好,因为这技术中啊有比他更好的这些东西,比如咱现在用的S比它更加方便。
12:00
而咱们下面啊,看这个子文可lo,而死文口里边呢,希望大家掌握这么几点,我写一下啊,第一个你要记住啊,词文lo是它本身并不是一种技术,它是什么呢?它是很多这个框架的一个总称,使用这些框架能实现我们这个叫微服务的。这么一个架构啊,这个叫词了,而还有一句话,各位记住啊,就是词可乐要实现它要基于这个。来进行实现,这是咱们说的第一句话,各位记住啊,我再重复一遍。文cloud是很多框架的总称,使用这些框架能做到微服的架构,而要实现是基于BOO做到的,这个啊,是咱们说的这句话当时应该给各位提到过啊,你把这个记住,然后第二个要各位掌握,就是死轮可lo的里边有哪些框架组成,就是它的组成的框架有。
13:03
哪些?这个啊,我来说一下啊,就是它的框架有很多,但当时啊,在提到死人可乐的时候,应该给大家看过一张图来看一下啊,应该在咱们的项目的第十天。这个部分啊,我把这个图给大家打开。就是里边的。这个部分啊,我把这个给大家来。截过来啊,它里边有这么张图,就是磁门口里边,你注意啊,我在这位置中呢,咱先不看红色部分,就是它的黑色部分,是它那个叫做原生的一些框架,就是它本身带的框架,然后框架有什么呢?看一下第一个叫服务发现,就咱通常说那个注册中心,它原生用的是E瑞ER服务调用熔断器,网关分布式调育总线等等啊,用这些做到,但它后面的注意啊,咱是用的这个叫nacos,把这个替代掉了,而我强调啊,Nacos本身其实它不是S里边的东西,它是什么呢?是由阿里巴巴提供一个东西啊,最后写一下。
14:05
第三句话啊,就是咱们在我们的项目中呢,我们是使用这个阿里巴巴的这么一个东西叫做NAS,用它替代了这个死人可乐里边的一些组件。啊死用可乐里边的一些组件,因为这个narcos呢,可以说它比死绒口里边原生的东西更加强大,就是配置更加简便,所以咱们项目中用的是这个叫NAS,你把这个知道啊,如果在面试中别人问到你说你说一下词中考的组成,或者说也中可能考这道题目,那你把这些原生的给它写出来,给它大概记记啊,虽然咱们后面没用,实际项目中可能一般也不会去用了,那你把这记住一下,第一个以瑞考B这些东西。或者说你面试官说我现在我知道有原生的有这些,但是我们项目中用的是nacos来替换它,因为nacos功能更加强大,更加简单,因为这以瑞克以它为例,它在就是2.0开始就官方停止维护了,所以我们用NAS。
15:04
比这个效率更高啊,你把这个给别人来提出来啊,这是关于STEM,咱应该当时用的这些东西。然后这些东西呢,分别都是干什么的,包括咱在什么地方用到过,给大家具体来说一下啊,我们看。第四个啊,给大家写一下,就首先NAS。咱是怎么用到呢,我想这个位置啊,第一个咱使用这个NAS。作为是不是咱们那个。注册中心啊,而注册中心咱干什么?都要知道啊,比如我现在。我通过一个微服模块去调用另外一个微服模块,因为他们是两个独立的模块,默认肯定调不到,那咱需要怎么做,把这两个微服务模块或者两个服务在我们的NAS注册中心中是不是做过注册呀,然后注册之后实现这个调用,所以这是第一个我们做到了用nacos做这个注册中心。
16:02
实现里边相互的调用,而注册中心理解为就类似于咱说那个房产中介啊,这是第一个Nars咱这么做的,然后Nars咱讲的东西,我们使用这个NAS,所以一个叫。配置中心咱项目中也用过了,就是配置中心里边,比如说我配置文件在里边统一管理,咱通过项目读取那中配置文件,帮你可以加载多个配置文件,或者改变它的那个命名空间做不同的切换,这咱们应该都做到了啊,这叫NAS,咱项目中这么做到的。然后除了na之外,还有一个叫fin,就这个啊,Fen。我写一下啊。然后这个东西啊,IGN咱做什么呢?其实他做的就是一个叫服务调用的一个过程。啊,服务调用,比如说我们现在我们在注册中心中,我想让我们其中的一个微服务的模块。啊,微服务去调用另外的一个微服务,那这过程用bin,通过bin通过它的服务名字找到另外一个服务,然后做这个就是叫远程调用。
17:11
啊,实现远程调用,这是bin,就是服务调用啊,各位宝都知道,然后咱当时应该在项目中这个部分用了很多的地方,如果说面试中别人问到你说你什么地方用到服务调用,咱随便举个例子就可以了,有很多地方,比如第一个咱在课程里边我们调那个vod得后那个视频,那个就是播放凭证做文化,或者说我在课程中调orders,看你的这个课程是不是已经购买。啊,这个当时咱应该都做到了,就是写了一个注解,然后包括里边写这个地址,这种实现就是第二个B啊项目中咱就用到了,然后呢,看下一个就那个叫断路器或者叫熔断器。然后熔断器做什么呢?咱就做那个容错处理,比如说我现在我一个模块调另一模块,当另一个模块呢挂掉了,如果说你不用熔断器,它是不是它直接报个超时了,用熔断器之后连不上,它就会只我们那个熔断的方法,然后咱们自己做处理,或者说你连那个服务器超时了,就会只用这个熔断器。
18:16
啊,这是我们当时说到的,然后包括里边还有一个叫网关。啊,就是第七个,我们用到网关叫这个。Getway网关。但是网关给大家强调,就是在这个cloud。他之前版本中有一个网关,叫这个网关。这个叫素网关,但是咱目前使用的不是柱,是这个。Getway网关,这你注意啊,如果以后别人问到你说你们网关是用的zoo某,不要说你没听过,你可以说我们不是,我们用的是getway,因为做比较古老一点,现在都用did位啊,就这些词,别人提到你至少要听过,因为咱们现在没人用它,不要说你没听过,别人问你,你用过zoo吗?一愣。
19:00
做是什么啊,那这有问题了啊,证明你这个开发经验有问题啊,Zoo早期的我这个网关,咱现在用的叫it way啊,这些词都给它大家看一看,虽然咱们不需要去用,以后可能也用不到,但你知道有这个东西,你重点掌握咱们这个东西。这是啊,It way,所以把这个我们做了一个说明啊,这是咱们用到的啊,包括注册配置中心啊,这都说到了,这是关于死人可漏的里边这些新闻东西,然后各位掌握第一个它是什么,里边有哪些组成,包括原生的,包括咱先用的NAS,然后另外在里边NAS,咱做这个注册,这个注册中心进服务调用熔断器网关等等啊,当然里面还有其他一些技术,各位后面在电商中还要学一些其他组件啊,咱目前在线中用的是这几个组件。这个啊,给各位做了一个说明啊。
我来说两句