企业级应用,如何实现服务化一(项目架构演化)
1.企业级应用架构演化
1.1.架构演化图
1.2.文字描述
#单一应用架构
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本
#垂直应用架构
当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率
#分布式服务架构
当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求
#流动计算架构
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率
#整个演化路径理解:
单节点应用-->集群应用-->分布式应用-->服务治理
2.服务治理解决方案
#1.服务规模小的解决方案 通过RMI或者hessian工具,简单暴露和引用远程服务,通过配置服务url进行调用即可 #2.大规模服务化解决方案 #2.1.需求 a.如果服务越来越多,配置管理服务url变得非常困难。此时,需要一个服务注册中心,动态注册和发现服务 b.如果服务之间依赖关系复杂,甚至难以理清应用之间启动的先后顺序。此时,需要一个服务自动管理 c.如果服务的调用量越来越大,如何评估服务的容量?需要多少台机器?此时,需要一个服务容量规划和管理 #2.2.方案 服务治理框架:dubbo、spring cloud
我们唯一能够控制的是自己的脾气和努力