1、,分布式服务框架,应用架构的发展需求,随着互联网业务的发展,网站应用的规模不断扩大,常规的企业级垂直应用架构已无法应对,服务式的应用架构以及分布式服务框架势在必行,用户亟需一个治理系统确保架构有条不紊的演进。,3,网站应用架构的演进,Framework,Architecture,Cluster,All in One,1 10,垂直应用,分布式服务,弹性服务框架,ORM,MVC,RPC,SOA,应用,服务,10 1000,1000 10000,10000+,单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM
2、)是关键。,垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。,分布式服务架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来作为独立的可以复用的服务,使前端应用能更快速的响应多变的市场需求。此时,RPC技术是关键。,流动计算架构当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高设施利用率的资源调度和治理中心(SOA)是关键。,4,单一的应用架构,4,应用All,数据库,All
3、 in One,1 10,ORM,单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。,应用All,应用All,应用All,负载均衡器,每个节点服务器中,包换应用的全部功能模块代码应用系统很臃肿,维护和版本升级开销非常非常大使用负载均衡分散访问会话,提高并发处理能力网站初期或者规模较小,整体上容易把控,垂直拆分应用架构,5,垂直应用,MVC,10 1000,垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的We
4、b框架(MVC)是关键。,应用A,应用B,应用C,应用D,数据库,缓存系统,搜索引擎,应用E,应用F,应用All,各应用中存在重复的业务功能和代码,甚至在一个应用中也会存在冗余的代码逻辑应用系统依然很臃肿,业务逻辑处理和界面交互的代码还是堆放在一起维护和版本升级开销都很大,稳定性不够理想适用于中小型网站规模,整体上容易把控,服务式应用架构,6,服务式,RPC,1000 10000,服务式应用架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来作为独立的可以复用的服务,使前端应用能更快速的响应多变的市场需求。此时,RPC技术是关键。,应用A,应用B,应用C,应用D,数据库,应用E,应
5、用F,分布式文件系统,搜索引擎,缓存系统,应用G,应用,服务,增加服务层,把冗余的代码和可以复用的业务应用进行拆分提取,封装成服务系统架构更加清晰,代码质量提高,利于升级和维护,稳定性高应用层可以更专注在与前端用户如何交互,业务处理放在服务层来进行服务和应用的管理不是自动化,服务层能够实现HA的功能适用中大型网站系统的场景中,分布式服务框架,7,应用,服务,分布式服务框架,SOA,10000+,流动计算架构当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高设施利用率的资源调度和治理中心(SOA)是关键。
6、,服务框架,应用1(服务调用者),服务框架,服务框架,服务框架,服务中心,服务框架,服务框架,应用2(服务调用者),新应用1(服务调用者),服务A(服务提供者),服务B(服务提供者),新服务A(服务提供者),注册,订阅,推送服务列表,调用,调用,调用,分布式架构,应用层和服务层可根据需求进行动态水平扩展,应用与服务实现负载均衡,通过随机、轮询、权重等策略开放式、标准化的框架,满足接口调用的服务都可以接入服务框架(RPC)监控服务调用情况,可进一步对服务层再分层,根据业务需求和对服务运行情况对服务进行编排和梳理,以及服务治理适用大型及超大型网站应用架构,推送服务列表,服务调用者和提供者直接建立连
7、接,服务列表保存在应用的本地,(注册查找),基于服务式应用架构基础上,引入服务注册中心,用于保存服务列表;实现自动化服务体系框架,服务分层,8,前端,集成,核心,服务分层,注册中心,治理中心,调度中心,监控中心,服务编排,服务容器,服务质量协定,服务容量评估,服务调用统计,依赖关系,服务文档负责人审批流程,服务测试,服务注册与发现,服务降级,对服务进行监控、统计、评估、测试服务粗粒度,可针对业务需求对服务进行编排对服务进行治理,服务的依赖关系、调整服务权重等维护服务登记文档服务权限,服务分组,9,消息中间件,既然应用拆分了,形成了服务层,应用由紧耦合变为松耦合,那么应用之间、服务之间、应用与服
8、务之间如何通讯?应用解耦,最终数据一致性异步通讯、操作的异步有些场景中,利用消息系统确保分布式数据库的弱事务性,应用A,应用B,消息中间件MQ,应用C,主库,从库,服务注册查找中心,1,1,2,2,3,3,4,4,10,分布式服务框架,10,服务体系框架系统特色:作为高性能分布式RPC服务调用中间件,SAF服务注册订阅中心负责服务的注册与订阅,部署在业务应用中的客户端负责RPC调用;远程方法调用透明,简单配置,无API入侵。SAF具有FailOver特性,提供调用跟踪、服务路由、软负载均衡,实现高可用的服务,方便实现服务能力水平伸缩。SAF还可提供更多服务治理功能,由专家小组提供支持。,服务注
9、册中心 Registry,Eon-SAF服务体系框架调用过程,统一RPC调用框架,技术对齐,系统SOA化,满足业务的快速变化需求;开发人员提升开发效率、保证服务质量;,服务提供者Provider,服务提供者Provider,1,服务注册,服务注册,服务调用,服务调用,订阅服务,得到服务列表,推送服务列表,5,4,7,2,3,6,服务消费者Consumer,监控Monitor,同步(长连接),异步(短连接),采集服务调用次数和调用时间,11,框架的层次化,各个应用系统中有相同的业务功能,提取出来这部分冗余的功能在服务中心以服务的方式供大家一起使用。让应用层更加专注的去解决与浏览器交互的工作,而不必过多的关注业务逻辑的事情。业务数据的操作由服务层封装。业务功能之间访问不仅是单机内部访问,还有远程服务调用。把数据交互的工作封装成 数据访问层,服务层不直接与数据库交互,由数据访问层来提供数据的访问策略。帮助服务层完成数据的拆分以及整个数据的管理、扩容、迁移等工作。,商品系统,应用层,注册,权限管理,商品,服务层,用户中心,分布式数据库访问,数据访问层,缓存,搜索,数据库,分布式缓存集群,搜索集群,交易订单,查询系统,交易中心,数据持久层,分布式文件系统,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1