软件架构发展主要有以下3个阶段的发展
单体结构
单体结构发展成果就是 MVC 架构的成熟,软件开发为垂直模式,按照业务模块划分,优点就是容易横向扩展,业务模块添加比较方便,但随着项目的发展,业务的不断扩充,后续业务扩展难度越来越大,这种架构模式已经跟不上业务的发展速度
SOA
除了数据库同一管理外,也业务独立发展,但是需要一个总的 ESB 总线来协调也业务中间的关系,这种架构设计能支持系统快速的业务发展,但是个业务之间的协调将变得异常混乱,这种架构下的优缺点就是能够支持业务的快速增长,但是资源整合程度不够
微服务
微服务是在 SOA 架构的基础上发展起来的,在 SOA 架构的基础上,对业务模块继续进行整合,尤其是对业务模块的整合,抽取公共的业务提供给全系统服务,各个业务模块只关注各自领域的实现,优点就是扩容方便,资源利用率高,各个业务只关注各自领域的即可,不用关注其他领域,