一、Web应用框架的演变
随着互联网的发展,网站应用的规模不断扩大,Web应用架构也在不断的演变。
四个阶段:单一阶段、垂直应用、分布式服务、流动计算
ORM->MVC->RPC->SOA
1、单一应用阶段:当网站访问量很小时,只需要一个应用程序,将所有的功能都部署在一起,
以减少部署节点和成本。
此时关键问题:简化数据库操作,数据访问框架ORM是核心。适用于小型网站,管理系统,简易办公系统。
局限性:1、扩展性差,2、不便于协同开发,3、不利于升级和维护。
2、垂直应用
当访问量逐渐增大,单一应用(单机)负载太大,此时可以增加服务器来进行负载均衡,提高响应速度,即集群。
但是,当增加的服务器到达一定数据时所带来的加速度会越来越小,此时单纯的增加服务器已无法明显提升响应速度。
此时,需要将系统业务拆分成多个互不相关的系统,分别部署在独立的服务器上,以提升效率,称为垂直应用。
优点:通过拆分项目的业务,实现业务上的独立,降低了开发和维护的难度,便于协同开发,提高了扩展性。
局限:每个垂直模块中都有相同的内容(entity、dao、service、web),公共资源无法实现复用,且业务逻辑
与界面无法分离。
此时的关键问题:加速前端页面开发MVC框架(MVVM)Vue.js、angular、react
3、分布式服务架构
当垂直应用越来越多,应用之间的交互无法避免,有些业务系统无法完全拆分为独立的系统,
此时,我们将核心业务抽取出来,作为独立的服务service,逐渐的形成稳定的服务中心,
使前端应用能够更好的适应市场的需求。

此时关键的问题:提高业务的利用以及整合分布式服务框架RPC(Remote Procedure Call  远程过程调用)
4、流动计算架构
当服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA:Service-Oriented Architecture)。
容量的评估,小服务资源的浪费等问题开始出现,此时需要增加一个“调度中心”,基于访问的压力
实时的管理集群容量,提高集群的利用率。
此时的关键问题:资源调度和治理中心,使用dubbo+zookeeper