00:00
这里边呢,其实这个我们用这个微服务架构哈,在这个用ma看怎么样搭建一个啊,就是很简单的啊,一个微服务架构的一个系统,搭建一下这个环境,然后呢去调用一下服务,这个时候其实呢,它到底背后呢,它是一个什么样的业务,这个真的不重要。我只不过继续沿用了一下以前的那个数据库啊,但是呢,还是和我们在第二个锦囊SM的那个案例里边说的一样哈,呃,我们只是在这儿呢,简单的来做一下这个用户的登录。然后呢,剩下的事儿,别的业务方面,你说和前边是一样的,确实就没有必要呢,再重新去写一遍了啊,所以在这儿的话,我们因为我们重点还是在ma这儿,还是要看呢,Ma在这个时候呢,Ma怎么样来使用啊。啊,那么咱们就正式开始,首先第一部分呢,咱们还是先去创建一下工程。啊,那这个时候的话呢,就是一个真正的分布式的工程了,哎,怎么去区分分布式和伪分布式呢。
01:05
哎,这个怎么样能够把这个尾去给它摘掉,绊面上如果你的工程只是,哎拆分了好多个拈啊,创建了好多个model,这个时候呢,并不能够以此作为依据,说你就是一个分布式的一个架构。因为分布式架构呢,这里边儿存在着一个非常重要的一个,呃,判断标准啊,就是说你的这个拈之间,你都是Java开发的模块哈。都是Java开发的模块,说你这个我Java的模块之间,他们之间是否有这个远程调用,通过网络啊实现的一个远程调用,哎,我这个A模块通过网络调用B模块里边的一个方法。如果存在这样的方法的远程调用,那么其实呢,你就已经可以说是一个分布式架构了。像我们甚至于说以前呢,最最老早以前我们用的这个web service。哎。呃,这样的东西啊,它呢,其实就是已经它应该说是我们分布式的一个雏形吧,啊,就是这个时候从这啊我们说呃。
02:09
往前追溯的话啊,我们说这个方法在远程调用,就是基本上差不多就是从这开始的,当然这个还有就是说我像我们spring,呃,刚起步的那个时候,有这个r mi r mi远程方法调用啊,其实也是这个意思啊,啊这是那个时候这是起源的啊,这个技术起源的一些个,一些个当时技术起的时代,那个时候一些个技术的解决方案,当然web service也不是一个技术啊,它下边那个技术涉及到的框架也非常的多。啊,那个时候的框架呢,也封装的其实并不是很好啊,然后这个用起来也非常的繁琐啊,非常的这个笨重。然后呢,再往后哈,就是我们提到了有这个SOA这样的一个理念,这个呢就是说service oriented architecture,哎。
03:00
面向服务的架构啊,面向服务的架构。也就是说呢,这个时候我们就定义说。比如说A模块通过网络远程去调用我们B模块,那我们就可以说呢,B模块它是服务的一个提供者。Provider。A模块呢,调B模块,那A模块呢,我们就把它叫做服务的消费者。Consumer。然后在这个时候呢。当然他这个时候呢,就会这个时候基本上就要引入这个注册中心的这样的一个,呃,这样的一个概念了啊,这个B模块他在注册中心里边呢,去注册他的服务,A模块呢,访问注册中心,哎,去发现服务啊,看看哪些服务可以被使用啊,这是一个最基本的一个这样的一个结构。呃,然后呢,我们说如果你的整个项目的架构的设计是基于这个服务啊,基于服务,哎,然后呢,是基于服务来划分我们各个模块的。
04:01
这样的话,我们就可以把它称之为是OA的一个架构啊,以以以服务的这个理念来划分模块,每一个模块呢。哎,以前呢,其实这个模块呀。按说呢,这个模块啊,它比较偏这个业务的角度,业务划分的角度啊,哎,每一个模块根据业务划分成业务功能的需求,划分成一个一个的模块,然后呢,我们这个服务呢。比较偏这个技术的这个角度啊,哎,我对我在网络上暴露我的接口,别人可以通过网络来调用我,我就提供了一个服务,你去调别人的服务呢,你就消费了那个服务。哎,再然后呢。我们说,呃。在OA这个时代发展了一段时间以后,我们后边呢,又发展到了micro service啊,就是我简写了啊micro service微服这个这个这个理念。那么我们说呢,很多时候啊,有同学分不清楚啊,说啥叫分布式啊。
05:04
啥叫OA啊,啥叫这个微服务啊,他觉得这些概念呢,他觉得都好像有点关系,但是这个又傻傻分不清楚啊,我们说呢,分布式是一个很大的概念。啊呃,分布式是说呢。呃,只要我们说能够有远程调用的这样的系统架构的设计,都可以叫做分布式啊,然后呢,OA的话是说呢,在设计分布式这个架构体系的时候,呃,着意。刻意的引入了我们。服务的这样的这个概念啊,引入了我们服务这样的概念。哎,基于服务的理念来设计整个的架构,这就是OA,然后呢,A和micro service,就是和这个微服务他们之间的这个关系哈,是一个就是说SOA呢,是比较比较相对早期一点的这样的一个理念,Micro service呢是一个比较近期一点的这个理念啊,就是离我们更近一些的。
06:02
所以说呢,就说这个OA呢,和micro service哈A和微服务呢,它是一个历史上早和晚啊,这个离我们远和近这样的一个关系,而分布式呢,是和他们的关系,这是一个总的概念,这是这个它总的概念下边的具体的概念,就好比说哎,分布式就相当于我们水果这个概念啊,OA和microof呢,都是具体的水果啊,比如它是苹果,它是香蕉啊这个意思啊。那么呃,Micro service和这个有啥区别呢?微服务呢,它强调是说。啊说每一个服务呢,都是独立可以部署的,这个呢,其实是微服务的最大的一个特点啊,这是微服务的最大的一个特点,每一个服务都是独立可以部署的,至于说呢,我们这个V啊说这个是不是表示说我们这个服务一定要小呢。其实好像并没有特意去强调这一点,但是呢,它也会这样去划分,就是说我们根据业务功能呢,去划分出来的这个模块啊。
07:04
微服务主张呢,这个模块还会再继续去拆分好多个不同的服务啊哎。这样的话呢,其实你想它进一步再进行拆分以后,这个各个服务呢,它肯定就是这个要它的体量啊,要比整个这个拈呢,还是要更小一些啊,因为他提倡说呢,这里边抽取来的服务啊,并不一定说只服务于这一个拈啊,可能很多拈都可以来使用,哎,极大的增强了我们这个服务的复用性。哎,然后呢,在同时呢,强调我们服务呢,是独立可以部署的,这就满足了一个微服务的一个特性,然后呢,那说spring和微服务有什么关系呢?Springt和微服有什么关系呢?微服务是一个理念啊,Spring boot是一个具体的一个实现啊,他们有这样的一个一个一个对应的关系。这些呢,当然我就不多废话了,毕竟我在这儿只是我们去讲的是这个是讲的是这个ma。啊,嗯嗯。
08:02
好呃,这些个理念呢,大家还是呃,就是我们相当于是这个进行一个简要的一个对接啊,然后呢,后边我们就呃。基于这些理念,我们来看我们要创建的这些个工程啊,但是最外边这个呢,就是一个总的一个负工程。总的一个工程啊,然后在工程里边需要去管理依赖。接下来里边这个呢,里边这些哈,他们就是并不不都是微服务哈,并不都是微服务,呃,你看呢,我们这里边儿的这些哈。他们是当做一个一个的具体的微服务啊来设计出来的,而下边儿的这些呢,带贝斯的这些啊,他们是呢。呃,底层的。比如说我们这个API啊,它呢,就是用来暴露我们的微服务的接口的。N是存放我们设计类的,U是存放我们这个工具类的啊,然后呢,呃。
09:01
说这里边哈,他们这几个呢,都不会独立的运行,他们呢都是家包啊,将来都是家包,而且呢,是那种被别人依赖以后被别人导入的假包,而我们微服务呢,每一个微服务的家包。啊,每一个微服的架包,虽然说它导出以后也是架包,但这个架包呢,是可以直接启动的。哎,所以说微服务这个理念呢,它一方面哈,有这个独立可以部署运行,增强这个复用性,这方面还有一个呢,就是说它的价包哈,直接就是他的要求,每一个微服务直接可以跑起来,那么每一个微服务呢,都可以是,甚至都可以是一个独立的产品。啊,产品化的这个属性特别强,哎。那么我们接下来呢,这个各个各个工程的这样的一个含义啊,这个也都非常的这个明显了哈,这是总的负工程,这个是我们的网关,哎,这个是呢,负责用户登录注册,然后退出啊,这个权限认证等等的这个用户中心,这个呢是我们员工啊数据维护中心。
10:09
然后呢,这个是我们拆分出来的啊,这个奏折的数据,这个中心。然后呢,这个呢,是我们批阅作者的中心,哎。这些呢,其实就是说这些微服务的划分啊,他们都是我们从业务的角度给他们进行了一个拆分。然后呢,他呢是专门提供我们访问数据库的功能,哎,他是数据MYSQL的数据提供者,他呢访问的是我们的redis啊,它所有访问redis的这个操作全部都用这个微服务来封装啊,它是redis的一个数据提供者。这些呢,是我们的这个呃,底层的啊,基础的组件,哎,它这个API里边说明我们复的接口对外对外暴露,然后这个ND放我们实体类啊,U求呢,放是一个工具类,这里边标蓝色的呢,是我们真正就是说在这个例子里边呢,要要去写的啊,然后其他的呢,因为咱们这儿啊,你毕竟没有办法说完整的把这个项目开发完,我们这儿呢,只是拿它呢作为一个DEMO来举一个例子啊。
11:15
嗯,接下来的话,咱们就按照这个计划呢,去创建一下啊这一工程。
我来说两句