当前位置:文档之家› 分布式服务体系框架

分布式服务体系框架

分布式服务框架
应用架构的发展需求
随着互联网业务的发展,网站应用 的规模不断扩大,常规的企业级垂 直应用架构已无法应对,服务式的 应用架构以及分布式服务框架势在 必行,用户亟需一个治理系统确保
架构有条不紊的演进。
分布式服务框架 服务,RPC调用
单一应用
垂直应用拆分
网站应用架构的演进
Framework Architecture

消息中间件
• 既然应用拆分了,形成了服务层,应用由紧 耦合变为松耦合,那么应用之间、服务之间、 应用与服务之间如何通讯?
• 应用解耦,最终数据一致性 • 异步通讯、操作的异步
服务注册 查找中心
• 有些场景中,利用消息系统确保分布式数据 库的弱事务性
应用 A
应用 B
应用 C
消息中间件MQ
服务1
服务2
SOA 分布式服务框架
应用 服务
应用1 (服务调用者

服务框架
应用2
(服务调用者

服务框架
推送 服务
列表
新应用1
(服务
列表
服务列表保存 在应用的本地
10000+
流动计算架构 当服务越来越多,容量的评
估,小服务资源的浪费 等问题逐渐显现,此时 需增加一个调度中心基 于访问压力实时管理集 群容量,提高集群利用 率。此时,用于提高设 施利用率的资源调度和 治理中心(SOA) 是关键 。
• 增加服务层,把冗余的代码和可以复用的业务应用进行拆分提取,封装成服务 • 系统架构更加清晰,代码质量提高,利于升级和维护,稳定性高 • 应用层可以更专注在与前端用户如何交互,业务处理放在服务层来进行 • 服务和应用的管理不是自动化,服务层能够实现HA的功能 • 适用中大型网站系统的场景中
分布式服务框架
服务3
主库
从库
9
分布式服务框架
服务体系框架系统特色: •作为高性能分布式RPC服务调用中间件,SAF服务注册订 阅中心负责服务的注册与订阅,部署在业务应用中的客户 端负责RPC调用;远程方法调用透明,简单配置,无API入 侵。 •SAF具有FailOver特性,提供调用跟踪、服务路由、软负 载均衡,实现高可用的服务,方便实现服务能力水平伸缩 。 •SAF还可提供更多服务治理功能,由专家小组提供支持。
基于服务式应用架 构基础上,引入服 务注册中心,用于 保存服务列表;实 现自动化服务体系 框架
调用
调用
订阅 调用
服务中心
(注册查找)
服务框架
服务A (服务提供者

服务框架
服务B (服务提供者

注册
服务框架
新服务A (服务提供者

服务调用者和提供 者直接建立连接

分布式架构,应用层和服务层可根据需求进行动态水平扩展,应用与服务实现负载均衡,通过随机、轮询、权重等
ORM All in One
MVC 垂直应用
RPC 分布式服务
SOA 弹性服务框架
Cluster
1 ~ 10
单一应用架构 当网站流量很小时,只
需一个应用,将 所有功能都部署 在一起,以减少 部署节点和成本 。此时,用于简 化增删改查工作 量的 数据访问框 架(ORM) 是关键 。
10 ~ 1000
1000 ~ 10000
数据库
缓存系 统
搜索引擎
• 各应用中存在重复的业务功能和代码,甚至在一个应用中也会存在冗余 的代码逻辑
• 应用系统依然很臃肿,业务逻辑处理和界面交互的代码还是堆放在一起 • 维护和版本升级开销都很大,稳定性不够理想 • 适用于中小型网站规模,整体上容易把控
服务式应用架构
RPC 服务式
应用 服务


10000+
应用 服务
垂直应用架构
分布式服务架构
流动计算架构
当访问量逐渐增大,单一 应用增加机器带来 的加速度越来越小
当垂直应用越来越多,应用 之间交互不可避免, 将核心业务抽取出来
当服务越来越多,容量的评 估,小服务资源的浪费 等问题逐渐显现,此时
,将应用拆成互不
作为独立的可以复用
需增加一个调度中心基
ORM All in One
负载均衡器
应用 All
应用 All
应用 All
应用 All
1 ~ 10
单一应用架构
数据库
当网站流量很小时,只 需一个应用,将 所有功能都部署 在一起,以减少 部署节点和成本
• 每个节点服务器中,包换应用的全部功能模块代码 • 应用系统很臃肿,维护和版本升级开销非常非常大
。此时,用于简 化增删改查工作 量的 数据访问框
策略

开放式、标准化的框架,满足接口调用的服务都可以接入服务框架(RPC)

监控服务调用情况,可进一步对服务层再分层,根据业务需求和对服务运行情况对服务进行编排和梳理,以及服务
治理

适用大型及超大型网站应用架构
服务分层
前端



集成

核心
服务 编排
服务
8
容器
服务容量评估
调度中心
服务降级
服务质量协定
• 使用负载均衡分散访问会话,提高并发处理能力 • 网站初期或者规模较小,整体上容易把控
架(ORM) 是关键

4
垂直拆分应用架构
MVC 垂直应用


应 应用 应




用 All 用


A
B
C
D
E
F
10 ~ 1000
垂直应用架构 当访问量逐渐增大,单一
应用增加机器带来 的加速度越来越小 ,将应用拆成互不 相干的几个应用, 以提升效率。此时 ,用于加速前端页 面开发的 Web框架 (MVC) 是关键。
相干的几个应用, 以提升效率。此时 ,用于加速前端页 面开发的 Web框架 (MVC) 是关键。
的服务,使前端应用 能更快速的响应多变 的市场需求。此时, RPC技术是关键。
于访问压力实时管理集
群容量,提高集群利用
率。此时,用于提高设
施利用率的资源调度和
治理中心(SOA) 是关键
3

单一的应用架构












A
B
C
D
E
F
G
服务1 数据库
缓存服系务统2
服搜务索3 引擎 服务4
分布式文 件系统
1000 ~ 10000
服务式应用架构 当垂直应用越来越多,应用
之间交互不可避免, 将核心业务抽取出来 作为独立的可以复用 的服务,使前端应用 能更快速的响应多变 的市场需求。此时, RPC技术是关键。
统一RPC调用框架,技术对齐,系统 SOA化,满足业务的快速变化需求; 开发人员提升开发效率、保证服务质量 ;
服务调用统计 监控中心
服 务 注 册 与 发 注册 现 中心
服务 测试
依赖关系
治理 中心
服务 文档 负责人 审批 流程
• 对服务进行监控、 统计、评估、测试
• 服务粗粒度,可针 对业务需求对服务 进行编排
• 对服务进行治理, 服务的依赖关系、 调整服务权重等
• 维护服务登记文档 • 服务权限,服务分
相关主题