当前有许多的软件架构设计,每一种软件架构都有自己的特点和引用场景,使用哪种软件架构来解决项目的需求需要根据实际情况来判断
单体软件架构
单体软件架构在小项目中比较常见。主要由一个数据库,一个前端项目,一个后台项目就可以跑起来,例如开发简单的博物馆管理系统,创建一个web前后台项目,加数据库,在加一个tomcat即可运行。这种软件框架使用于项目快速上线、垂直度较高,访问压力较小 的业务。在这种模式下对技术要求低。方便各层次人员接手,下面是单体架构图:
垂直(分布式)软件架构
把整个软件系统拆分成多个业务,每个拆分的子业务都是一个子系统,然后再把每个业务子系统部署到多个台服务器上均衡业务访问量。下面是垂直架构的架构图:
集群:同一个业务,部署在多个服务器上
分布式:一个业务拆分成多个子业务,部署到不同的服务器上
SOA架构
SOA,面向服务的软件架构系统,将应用程序根据不同的职责划分成不同的模块,不同的模块之间通过特定的协议和接口进行交互,这样使整个系统切分正很多个单个组件服务来完成请求