单体架构
在网站开发的前期,项目面临的流量相对较少,单一应用可以实现我们所需要的功能,从而减少开发、部署和维护的难度。这种用于简单的增删改查的数据访问框架(ORM)十分的重要。
垂直应用架构
当用户访问量不断的提升,单一应用需要不断的增加服务器来应对,同时将单一的应用拆分成多个应用用来处理提升效率。在这一阶段往往会将系统分为不同的层级,每个层级有对应的职责,UI层负责和用户进行交互、业务逻辑层负责具体的业务功能、数据库层负责和上层进行数据交换和存储。
在这一阶段我们最常使用到的开发框架就是SSH、SSM。
服务化架构
SOA表示面向服务的架构。将应用根据不同的职责划分成不同的模块(类似于企业划分不同的事业部),不同的模块使用特定的调用协议(RPC)和接口进行交互。
这样使整个系统切分成很多单个组件服务来完成请求,当流量过大时通过水平扩展相应的组件来支撑,所有的组件通过交互来满足整体的业务需求。
服务化架构是一套松耦合的架构,服务的拆分原则是服务内部高内聚,服务之间低耦合。
在这个阶段可以使用WebService或者dubbo来服务治理。
微服务架构
微服务架构MSA算是SOA架构的一种拓展。在这个阶段可以使用springcloud。
web应用架构的演化参照下文:
https://www.cnblogs.com/xiaoMzjm/p/5223799.html