【从零开始学微服务】02.初识微服务

大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。

软件架构风格
那么到底微服务是个什么东西呢?其实,微服务是一种软件架构风格。那么什么又是软件架构风格呢?可能有的童鞋已经懵圈了。

我们打个比方,好比建造房子,有中式建筑,欧式建筑等。这些不同的建筑风格,从外观上看,一眼就能看出来差别。
比如黄鹤楼,典型的中式风格建筑,整体使用木制卯榫结构,飞檐翘角,甚至还有五脊六兽。

再看巴黎的教堂,整体用石头筑建,高高的塔尖、大大的穹顶,一眼就能看出是欧式风格的建筑;

我们回过头来,再看软件系统中的架构风格,其实类似我们刚刚说到的建筑风格,就是在设计软件系统时使用的惯用模式,或者说是惯用伎俩。
了解了什么是软件架构风格,我们再继续看看微服务到底是个什么样的架构风格?

微服务
微服务(Microservices)是一种软件架构风格,是以专注于单一责任与功能的小型功能块为基础,利用模块化的方式组合出复杂的大型应用程序,各功能块使用与语言无关的API相互通信。

这是维基百科给出的微服务的定义,这个定义比较抽象,不是很好理解,那么我们来举个例子:

249004bk-3.png
这是一个电商系统的例子,我们可以看到它是一个由一系列小服务组成的,比如:商品服务、订单服务、用户系统等等。

每一个服务都是围绕业务功能进行构建的,比如库存服务就是围绕库存相关的业务进行构建的。

每一个小服务都是独立开发、独立运行、独立部署的,比如促销服务是一个独立的项目,可以独立部署运行,所以它可以选择自己合适的语言或者工具进行构建,和其他服务完全不一样。

服务和服务之间使用轻量级的API进行通信,比如用户服务调用发票服务的时候,是通过基于RESTful风格的HTTP接口。

就这样,我们已经对微服务有了一个初步的印象,随后我们再逐步深入了解。

总结
软件架构风格:在设计软件系统时使用的惯用模式,或者说是惯用伎俩。

微服务:用一系列小型服务组建成一个大系统,每个服务都是围绕业务功能进行构建,每个服务都是独立开发、运行、部署,服务之间使用轻量级API相互通信。



作者:万猫学社


欢迎关注微信公众号 :万猫学社