1.系统架构演变
单体应用架构 --> 垂直应用架构 --> 分布式架构 --> SOA架构 --> 微服务架构
(1).单体应用架构
优点:
[1].项目架构简单,小型项目的话,开发成本低
[2].项目部署在一个节点上,维护方便
缺点:
[1].全部功能集成在一个工程中,对于大型项目来讲不易开发和维护
[2].项目模块之间紧密耦合,单点容错率低
[3].无法针对不同模块进行针对性优化和水平扩展
(2).垂直应用架构
优点:
能对某一个功能进行扩容操作
缺点:
大量的代码重复,冗余
(3).分布式架构
优点:
抽取公共的功能为服务层,提高代码复用性
缺点:
系统间耦合度变高,调用关系错综复杂,难以维护
(4).SOA架构
优点:
使用注册中心解决了服务间调用关系的自动调节
缺点:
[1].服务间会有依赖关系,一旦某个环节影响较大(服务雪崩)
[2].服务关系复杂,运维,测试部署困难
(5).微服务架构
优点:
[1].服务原子化拆分,独立打包,部署和升级,保证每个微服务清晰的任务划分,利于扩展。
[2].微服务之间采用Restful等轻量级http协议相互调用
缺点:
分布式系统开发的技术成本高(容错,分布式事务等)