2.1 微服务的概念
“微服务”一词来源于Martin Fowler的《Microservices》一文。
微服务是一种架构风格,即将单体应用划分为小型的服务单元,微服务之间使用HTTP的API进行资源访问与操作。
“微服务”从简单的角度理解就是微小的、细粒度的服务,即将单个大的服务模块进行细粒度的拆分为小微服务模块。
“微服务”概念的核心并非是服务模块微小化,而是系统能够提供一整套基础的架构,如此使得各个微小服务可以独立部署、运行、升级,更加主要的是微服务之间结构上的“松耦合”。
从整体的角度看是一个统一的整体,即统一的风格界面、权限管理、安全策略、调度策略、访问入口、上线过程及日志和审计方法等。
最终目的是实现敏捷开发和部署。
从现实的角度看:微服务架构的演变更像是一个公司的发展过程,从最开始的小公司,到后来的大集团。大集团可拆分出多个子公司,每个子公司的都有自己独立的业务、员工,各自发展,互不影响,合起来则是威力无穷。
臃肿的系统、重复的代码、超长的启动时间带给开发人员的只有无限的埋怨,丝毫没有那种很舒服的、很流畅的写代码的感觉。他们把大部分时间都花在解决问题和项目启动上面了。
2.2 SpringCloud微服务架构
微服务架构(MicroServices Architecture,简称:MA)。
微服务架构主要是中间层的分解,将系统拆分成很多小应用服务(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。
单个应用的故障不会影响到其他应用服务,单个应用的服务负载同样也不会影响到其他应用。<