spring cloud

微服务的定义:

是系统架构上的一种设计风格,主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于Http的Restful API进行通信合作。被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务
功能进行构建,并且每个服务都维护者自身的数据存储,业务开发,自动化测试案例以及独立

部署机制。由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写.

   与单体系统的区别:

在以往传统的企业系统架构中,我们针对一个复杂的业务需求通常使用对象或业务类型构建一个单体项目。在项目中我们通常将需求分为三个主要部分:数据库,服务端处理,前端展现。在业务初期,由于所有的业务逻辑在一个应用中,开发,测试,部署都相对简单。但是随着企业的发展,系统为了应对不同的业务需求会不断的为该单体项目增加不同的业务模块:同时随着移动端设备的进步,前端展现模块已经不仅仅局限于web的形式,这对于系统后端向前端的支持需要更多的接口模块。单体应用由于面对的业务需求更为宽泛,不断扩大的需求会使得单体应用变得越来越大,单体应用的问题凸显出来。由于单体系统部署在一个进程内,往往我们修改了一个很小的功能,为了部署上线会影响其他功能的运行。维护成本太大,难以控制。

模块拆分,服务独立部署和扩展,由于每个服务都运行在自己的进程内,在部署上有哦稳定的边界,这样每个服务的更细都不会影响其他服务的运行。由于是独立部署的,我们可以更准确的为每个服务评估性能容量,通过配合服务间的协作流程也可以更容易的发现系统的瓶颈位置,以及给出较为准确的系统级性能容量评估。



猜你喜欢

转载自blog.csdn.net/qq_35781178/article/details/80049251