单体应用阶段
简介
系统业务量很小的时候我们把所有的代码都放在一个项目中,然后将这个项目部署在一台服务器上,整个项目所有的服务都由这台服务器去提供
优点
1.展现层、控制层、持久层全都在一个应用里面,调用方便、快速,单个请求的响应结果超快
2.开发简单、上手快
缺点
1.能够接纳的请求数量时有限的,因为服务器的内存、CPU配置是有限的
2.服务性能存在瓶颈
3.不可伸缩性
4.代码量庞大,系统臃肿
5.单点故障问题
垂直应用阶段
简介
单机处理到达瓶颈的时候,你就把单机复制几份,放到不同的服务器上,这样就构成了一个集群
优点
处理并发请求的能力和容量增强
缺点
1.单个请求的处理速度下降
2.业务发展到一定程度时,无论怎么增加节点,整个集群性能的提升效果并不明显
分布式系统阶段
简介
分布式架构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信
优点
1.系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升
2.系统之间的耦合度降低,从而系统更易于扩展,我们可以针对性地扩展某些服务
3.服务的复用性更高,比如,当我们将用户系统作为单独的服务后,该公司所有的产品都可以使用该系统作为用户系统,无需重复开发
服务治理阶段
简介
随着服务数量的不断增加,服务中的资源浪费和调度问题日益突出
相比于分布式系统阶段,服务治理阶段增加了调度中心来治理服务
调度中心可基于访问压力来实时管理集群的容量,从而提高集群的利用率。
在服务治(SOA)架构中,需要一个企业服务总线(ESB)将基于不同协议的服务节点连接起来,它的工作是转换、解释消息和路由
微服务阶段
简介
将系统的业务功能划分为极小的独立微服务,每个微服务只关注于完成某个小的任务
系统中的单个微服务可以被独立部署和扩展,且各个微服务之间是高内聚、松耦合的
微服务之间采用轻量化通信机制暴露接来实现通信