00:00
好,那么呢?同学们走。我们来到第二章微服概述。那么呢,在讲解这一章之前,我先。换讲一句话,那就是微服务、微服务架构以及spring cloud是三个完全不同的东东,这我们呢?进去先要看看学任何一个技术,我们都会关心它到底是什么。怎么演化来的?我为什么要学它?它有什么好处啊?那么这个时候呢,我们呢,就得看看大家都知道。杨哥的风格一言不合,是不是就官网说话或者原作者说话呀,那么呢,一样,既然说微服务权威版本,现在有这么多微服务的解释,这么多微服务的落地的架构和落地的技术,听谁的?那么呢,我们自然而然是不是听听微服务以及微服架构的提出者,原作者,业内的架构大牛马丁福勒对此技术的阐述和理解呀,好。
01:15
首先大家看看。马丁福勒是这样描述为服务的,他呢大概呢是在2014年左右提出了无理服务架构这个概念,那么呢,我们呢,来看看他的个人博客网站上面对微服务架构的论断是如此如何说明的。大家请看,这个呢,是马丁福勒的个人博客网站,那么呢?微服务是不是重新定义并开启了一套新的软件架构啊?你大家看这是不是马丁福勒啊?嗯,不是我骗你们的,我坑你们的,就怕你们认错了这名字是不是也对不上啊?那么这个时候呢,大家请看杨哥故意的挖个个哈。
02:09
这哥们才是马丁勒。表面上看是吧,好这个同学说啊,像个牛仔是吧,人家不是哈那录代码的,那么呢,我们呢,来看看。全篇好看,我看了有这几位同学的表情包,是不是英文啊?说过了英文怎么办?我们是不是一定会带着大家纯英文的学习并讲解啊?来吧,不要害怕,你不能说因为英文你就跑,也都要求大家是不是装了相关的翻译插件和软件了?来,首先请看看这句话。我们呢?本意虽然说这是马丁福勒提出的,他是为服务架构的主创人和这个概念的始作俑者,但是即便这样,人家呢,也很谦虚的说了一句话,干嘛呢?
03:09
对微服务业界并没有一个统一的精确的标准的境界,那么呢,现在大家去公司里面实操的时候,干活的时候就会知道,对于微服务啊,真的现在大家呢,也没有定论,这样呢也好,慢慢的迭代了以后会最终出现。为夫是个什么?但是呢,什么东西总不可能没个最终一个说法吧,那么至少截止到现在,大致我们呢,根据。马丁福勒对微服的定义就是这一段,我们呢来看看什么叫微服务。那么呢,通常而言,微服务是一种模式架构,或者是一种风格,注意红色部分是关键,提倡将单一的应用程序划分成一组小的服务。
04:03
那么这个东东啥意思呢?大家都知道,赛。我们的软件开发之前粗分哈,粗略的来说历经了三个阶段,第一种叫单机版,那么呢,俗称沃。In one,那就是最简单的说,在我们的eclipse或者各种其他开发工具里面的。工作空间里面只有一个工程,那么比方说他有个期末。这一个工程,然后呢,里面呢什么都塞在一块,那么呢,Com姆点at啊硅谷点德维斯二,然后呢,大家呢,只要这个service下面是不是贴了一堆堆接口啊商品的,那么呢,有交易的,有积分的,有订单的,不一而足不是对吧等等。
05:08
那么呢,这个时候单机版随着互联网时代的崛起,并发量越来越大,我们都明白天下大势,合久必分,那是不是分久必合啊?那么呢,往后我们可以看到由单机板是不是变成了我们的分布制?那么呢,徐静波老师呕尽沥血带着大家做的电商项目就是基于ma。那么呢,十多个工程给大家演示了分布式的电商架构的从搭建到实战编码,就是同学们也刚刚过了这么一个炼域的过程,然后呢,我跟徐俊博呢,算是黑白无常吧,是不是刚被黑无常略过了以后,变成我这个白无常了,当然为什么我是白的,是不是我皮肤比他稍微白一些啊,那么当然这边的话没有用美颜,他也可以看得出是不是啊,好,那么呢,我们呢都知道。之前在一块儿,大家呢,合租。
06:03
或多或少不方便吧。那么现在大家呢,就要奔赴战场,马上。各大公司,那么这个时候我们是不是慢慢的为了项目的耦合度变得更低,服务调用职责更加明确,尽量的是不是有这么一个理念,就是专业的事情交给专业的人做,尽量降低。我合度啊,那么什么意思呢?交易单品交易积分在一块,今天我只想改订单一个模块,但是却由于我们都在一块,就好比一屋子四个人合租,他脚臭或者他感冒了,是不是会传染影响其他三个,那么呢,我们最终分到吃饭各住各的,那么呢,我们呢会把上面集中在一块的窝one变成四个模块,那么呢,每一个模块大家可以按照业务来拆分,就可以把它看作是一个微服务,比方说我们做过的一个短信模块。
07:13
登录需要发短信,下订单需要发短信,调用了支付接口,你的变动站金额需要发短信,好多个模块都需要发短信,那么干脆就把这样公共的模块提出来,专业的人做专业的事儿,发短信就做,只发短信,它呢就变成一个小模块,用ma形成一个Mo,他只做一件事,形成一个微服务,别人需要发短信,不用自己做一套专门来调舞即可。所以说这句话相当关键,将单一的应用程序划分成一组小的服务,那么呢,第二句话。每个服务运行其独立自己的注意什么叫进程,不是线程,那么呢,到后面大家可以看。
08:01
我这后面呢,会起eclipse,在eclipse里面会发布多个微服务,那么一个一个的微服务起来以后,是不是就是一个一个的进程啊,那么言下之意,商品交易,积分订单到后面是不是会形成四个微服务,四个独立的进程,然后他们之间互相调用,互相配合,最终形成一个有机的服务整体。第三个,服务之间采用轻量级的通信机制,互相沟通。那么说白了,这请提前讲一个知识点,所有的面试官都会考你double和。微服务cloud区别有哪一些?其中有个最重要的,那么就是他们之间的通信机制,Double是基于RPC远程过程调用,R微服务cloud是基于rest调用,这两个是本质的区别,那这是他们的第一个维度,其他维度我们后面再说,那么呢,有兴趣的同学呢,可以做一下笔记,Double是RPC。
09:03
Cloud rest。那么呢,每个服务都围绕着具体的业务进行构建,独立的部署到生产。那么。换句话说,独立的部署,独立的发布,那么其他的话呢,甚至来看看可以使用不同的语言来编写服务,我调你这个服务就行了,那么呢,你用的技术是不是Java跟我没关系,那么这个时候可以看得出,当然哈,我们本次讲的是不是都是以Java语言为主,那么呢,我们呢,跟语言不同,我们之前在调用支付宝接口的时候,那么呢,徐俊博老师是不是给大家讲过一门技术叫web service啊,Web service是不是也是跟语言没关的。我们呢,结合论文网站的论文,是不是把马丁福勒他对威福的定义给大家进行了一定的翻译和说明,这你只需要有一个概念,那就是什么?单一应用one拆分成一组小的第二个,每次都是自己一个独立的进程,那么好。
10:07
如果按照这样学术范的。同学们,可能有些同学听起来觉得呢,杨哥太枯燥了,太烦了,说人话臣妾做不到,臣妾学不懂欧啦,那么呢,杨哥给你们总结。那么呢,如果从技术维度的角度理解来看看什么是微服呢?OK?你看。但传统的一站单机版的只有一个包的那样的东东拆按照注意是按照业务拆分,为什么前面马丁福勒都说现在对微服务没有一个统一的划分规则呢?其中有个很重要的原因就是拆分维度是按技术拆,是按领域模型拆,还是按业务流程查,仁者见仁,智者见智,没有达成统一。所以说呢,目前我们取最折中的基本上都是按业务,那比方说我们一个淘宝的。
11:02
电商购物网站最简单的买家业务和卖家业务是不一样的,那么呢,最终的目的是要彻底的去耦合,为每一个微服务提供单个业务功能的服务,一个服务只做一件事,比方说刚才所说过的发短信就发短信,下订单就下订单。调接口调支付接口就调支付接口好,从技术角度看,就是一种小而独立的处理过程,类似进程的概念,能够自行单独启动或销毁,甚至可以拥有自己独立的数据库。那么呢,这个是我们从技术角度的理解,好,那么说了这么多,接下来相信大家对微服部是个什么,初步会有一个模糊的印象和概念。接下来的课堂作业我们是不是就要。给大家15分钟,一定要逼着大家扎扎实实的从内功开始增长,不要只会用,因为大家现在呢,不要满足于在eclipse或者idea里面点取一下,一个点出现一个方法调用一下,那么那个时候你只不过是什么调用师或者是API工程师,根本不是我们所需要的软件工程师,练武不练功,到老一场空,那么请大家按照严格的要求。
12:26
读一下原作者论断和论文,加深一下对微服部的理解和概念,好,那么呢?读吧。啊啊,理解理解,那同学们是不是总总觉得。这英文你认识他还是他认识你的这个问题啊,不用担心啊,都给大家准备好了。OK,那么接下来内容干嘛?不管你能不能读完,不要怕,至少先给我把这篇文档中文的没问题了吧,你能读多少读多少,只给大家15分钟做一下这个课堂练习,那么下面请大家发一下上一下飞秋,我把软件和论文的发给大家。
我来说两句