Spring Cloud Alibaba — 0、服务架构演变
1、单体架构
整个应用的所有代码都在一个工程中
优点:
(1)架构简单,开发成本低
(2)部署简单,维护方便
缺点:
(1)耦合度高,容错率低
(2)不利于后期的水平扩展和维护
2、垂直架构
将原有的单体的应用拆分为若干个子单体应用。例如:一个阿里巴巴拆分成若干个系统,比如拆分为淘宝系统,天猫系统,菜鸟系统等等。
优点:
(1)一定程度上解决了并发的问题,不同的子应用可以进行水平扩展。
(2)一定程度上完成不同应用的解耦合,提高容错率。
缺点:
(1)子应用之间相互独立,不能互相调用。
(2)子应用之间相互独立,相同业务模块需要重复开发。
3、分布式架构
将垂直架构的应用拆分为应用层和业务层,应用层调用抽取出来的业务层(重复代码拆分出独立的业务层)。
优点:
(1)抽取公告的功能为业务层,提高代码的复用性。
缺点:
(1)耦合度高,调用关系复杂,维护难度高。
4、SOA架构
在分布式架构的基础之上加入治理中心来对拆分出的业务层应用的集群进行管理
优点:
(1)解决了服务调用间的关系调节。
缺点:
(1)服务之间依赖比较大,一旦某个服务调用,可能会出现服务雪崩。
(2)服务关系复杂,部署,运维,测试比较复杂 。
5、微服务架构
在SOA架构基础上进行更加细致的力度拆分,并且在各个方面引入各个层面组件进行维护服务间的调度,保证服务间稳定的调度。
优点:
(1)REST API轻量级通信。
(2)服务间耦合比较低,利用后期维护,水平扩展。
缺点:
(1)开发,维护,硬件成本比较高。
(2)复杂度更高