Dubbo开始于电商系统,所以在这里先从电商系统的演变讲起。前端
单一应用框架(ORM)
当网站流量很小时,只需一个应用,将全部功能以下单支付等都部署在一块儿,以减小部署节点和成本。
缺点:单一的系统架构,使得在开发过程当中,占用的资源愈来愈多,并且随着流量的增长愈来愈难以维护 架构
垂直应用框架(MVC)
垂直应用架构解决了单一应用架构所面临的扩容问题,流量可以分散到各个子系统当中,且系统的体积可控,必定程度上下降了开发人员之间协同以及维护的成本,提高了开发效率。
缺点:可是在垂直架构中相同逻辑代码须要不断的复制,不能复用。 框架
分布式应用架构(RPC)
当垂直应用愈来愈多,应用之间交互不可避免,将核心业务抽取出来,做为独立的服务,逐渐造成稳定的服务中心 分布式
流动计算架构(SOA)
随着服务化的进一步发展,服务愈来愈多,服务之间的调用和依赖关系也愈来愈复杂,诞生了面向服务的架构体系(SOA),也所以衍生出了一系列相应的技术,如对服务提供、服务调用、链接处理、通讯协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架网站
从以上是电商系统的演变能够看出架构演变的过程: 日志
单一应用架构blog
当网站流量很小时,只需一个应用,将全部功能都部署在一块儿,以减小部署节点和成本。
此时,用于简化增删改查工做量的 数据访问框架(ORM) 是关键。
垂直应用架构资源
当访问量逐渐增大,单一应用增长机器带来的加速度愈来愈小,将应用拆成互不相干的几个应用,以提高效率。
此时,用于加速前端页面开发的 Web框架(MVC) 是关键。
分布式服务架构
当垂直应用愈来愈多,应用之间交互不可避免,将核心业务抽取出来,做为独立的服务,逐渐造成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。
此时,用于提升业务复用及整合的 分布式服务框架(RPC) 是关键。
流动计算架构
当服务愈来愈多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增长一个调度中心基于访问压力实时管理集群容量,提升集群利用率。
此时,用于提升机器利用率的 资源调度和治理中心(SOA) 是关键。
路由