文章大纲
一、理解微服务
二、Spring Cloud知识介绍
三、参考资料下载
四、参考文章
一、理解微服务
我们通过软件架构演进过程来理解什么是微服务,软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程。
1. 单体架构
1.1 特点
(1)所有的功能集成在一个项目工程中。
(2)所有的功能打一个war包部署到服务器。
(3)应用与数据库分开部署。
(4)通过部署应用集群和数据库集群来提高系统的性能。
1.2 优点
(1)项目架构简单,前期开发成本低,周期短,小型项目的首选。
1.3 缺点
(1)全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。
(2)系统性能扩展只能通过扩展集群结点,成本高、有瓶颈。
(3)技术栈受限。
2. 垂直架构
2.1 特点
(1)以单体结构规模的项目为单位进行垂直划分项目即将一个大项目拆分成一个一个单体结构项目。
(2)项目与项目之间的存在数据冗余,耦合性较大,比如上图中三个项目都存在客户信息。
(3)项目之间的接口多为数据同步功能,如:数据库之间的数据库,通过网络接口进行数据库同步。
2.2 优点
(1)项目架构简单,前期开发成本低,周期短,小型项目的首选。
(2)通过垂直拆分,原来的单体项目不至于无限扩大。
(3)不同的项目可采用不同的技术。
2.3 缺点
(1)全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。
(2)系统性能扩展只能通过扩展集群结点,成本高、有瓶颈。
3. SOA架构
3.1特点
(1)基于SOA的架构思想将重复公用的功能抽取为组件,以服务的方式给各各系统提供服务。
(2)各个项目(系统)与服务之间采用webservice、rpc等方式进行通信。
(3)ESB企业服务总线作为项目与服务之间通信的桥梁。