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