面向生产环境的SOA系统设计

上传人:宝路 文档编号:47851909 上传时间:2018-07-05 格式:PPT 页数:42 大小:2.66MB
返回 下载 相关 举报
面向生产环境的SOA系统设计_第1页
第1页 / 共42页
面向生产环境的SOA系统设计_第2页
第2页 / 共42页
面向生产环境的SOA系统设计_第3页
第3页 / 共42页
面向生产环境的SOA系统设计_第4页
第4页 / 共42页
面向生产环境的SOA系统设计_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《面向生产环境的SOA系统设计》由会员分享,可在线阅读,更多相关《面向生产环境的SOA系统设计(42页珍藏版)》请在金锄头文库上搜索。

1、准备好发射了吗?面向生产环境的SOA系统设计*典型SOA应用展现服务产品服务公共服务基础服务集成服务基础服务公共服务公共服务公共服务外部服务提供者服务使用者集成服务一个SOA应用 由一系列服务 松散复合而成 。*服务使用者服务的内部服务接入流程、任务、决策领域仓储外部服务资源 外部服务领域对象服务代理每个服务都是 自包含、自主 运行的功能单 元。*服务是基础架构单元作为基础业务 、应用与技术 架构单元,服 务具有丰富的 含义。服务使用者服务提供者服务质量约束 服务位置 功能描述 交互模式 通信协议 消息格式*SOA技术基础设施SOA应用需要 一系列技术基 础设施的支持 。数据企业服务总线展现与

2、交互流程与决策组件与服务数据与应用集成跨企业集成服务 目录服务 监控公共 技术 服务后端应用渠道browser客户端移动设备语音外部企业应用*一个典型的电子支付应用商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查通过建设基础 业务平台,达 到快速构建与 改进上层的产 品与解决方案 的目标。基础业务平台产品与解决方案x2*交付前,你胸有成竹吗性能容量健壮商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案?x2*性能针对性能的分析与优化*响应时间分析如何合

3、理地估 算服务的响应 时间? 商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案20025010350100150300(10*3+350+100+150+300)+50=980990x230*响应时间优化通过异步调用 降低响应时间商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案20010350100150(10*3+350+100+150+10)+50=690700async 10/300x225030*响应时间优化通过fu

4、ture异 步调用降低响 应时间 商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案20010350(10*3+350+max(100,150)+10)+50=590600async 10/300futurefuture 100150x225030*关于性能的基础设施支持 知晓所有服 务的响应时间 数据: 服务监控 支持各种异 步服务使用: 服 务通信总线数据企业服务总线展现与交互流程与决策组件与服务数据与应用集成跨企业集成服务 目录服务 监控公共 技术 服务后端应用渠道browser客户端移动设备语音外部企业

5、应用*小结 在设计阶段就必须估算与优化性能 准确估算性能依赖于真实的监控数据,尤 其是业务平台的性能监控数据 灵活的服务通信设施使提升性能成为可能*容量针对容量的分析与优化*吞吐量分析如何合理地估 算新业务上线 对容量的需求 ?商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案?505015050505050x2 505050150*吞吐量分析平台容量对业 务容量的约束商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案50501

6、5050505050x2 50505015090 (3/5)50*min(4/5, 3/5)=30120 (4/5)*关键服务的吞吐量优化 充分扩容 平衡扩容 消除资源单点 瓶颈服务使用者服务提供者服务服务吞吐量 伸缩公式 伸缩上限 单资源吞吐量上限*非关键服务的吞吐量优化非关键的业务 服务的容量允 许短路,提供 降级服务。商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2optionaloptional*资源使用分析估算新业务对 关键资源的使 用 (以SQL执行 次数为例)商户接入订单处理支付处理清算处理

7、通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案51061081510x2 851513(13+(15*2)+10=5323(6*3+53+23+15+10)+10=129134*资源使用优化 通用服务代理 缓存服务结果 。 服务提供者支 持检查资源更 新时间戳。服务使用者服务提供者1. 查询(资源Id)服务结果cache key=服务+操作+资源Id value=资源Id+时间戳+服务结果通用服务代理2. 检查cache (Y)5. 返回cache结果3. 是否更新?4. No*关于容量的基础设施支持 知晓所有服 务的吞吐量与 资源使用:

8、 服务 监控 支持 optional服务 使用: 服务通信 总线 服务结果 cache: 服务代 理数据企业服务总线展现与交互流程与决策组件与服务数据与应用集成跨企业集成服务 目录服务 监控公共 技术 服务后端应用渠道browser客户端移动设备语音外部企业应用服务 代理*小结 在设计阶段就必须估算与优化容量 充分、平衡对业务平台进行扩容,既有前 瞻性又控制成本 针对“热点”进行优化 准确估算容量依赖于真实的监控数据 区别业务的等级*健壮在不确定的世界中交付确定的服务*单个服务的故障条件服务使用者服务接入流程、任务、决策领域仓储外部服务资源 外部服务领域对象服务代理唯一确定的是 不确定。并发请

9、求重复请求超量请求资源不可用资源响应超时通信中断外部服务响应超时外部服务违背功能契约BUG处理超时服务不可用请求积压处理中断*故障空间组合爆炸处处都有多种 故障可能,可 能穷尽其组合 吗?商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2重复请求BUG外部服务中断资源不可用*应对方式 避免发生 降低概率 控制影响 快速恢复故障条件应对方式超量请求配额控制重复请求幂等控制并发请求并发控制请求积压请求丢弃服务/资源响应超时时间控制可恢复通信故障合理重试处理中断事务/分布事务BUG自检*局部配额控制 一种简单的基

10、 于令牌的配额 控制方法。 令牌服务维持 本地各个服务 的可用令牌数 。服务接入令牌服务服务处理1. 服务请求2. 申请令牌 (Y)3. 服务处理4. 归还令牌5. 返回结果服务接入令牌服务服务处理1. 服务请求2. 申请令牌 (N)3. 拒绝请求*幂等服务同一个服务操 作实例最多只 允许执行一次 。资源一个服务操作实例两种操作实例标识法: (1) 基于业务活动 实例Id=业务活动Id+操作序号 (2) 基于资源 实例Id=资源Id+操作类型动作1动作2动作3一次业务活动执行*幂等控制 一种简单的基 于操作日志的 幂等控制方法 。 操作实例Id上 建立唯一性约 束。 操作日志不仅 用于幂等控制

11、 ,还可用于操 作审计等用途 。服务接入操作日志服务服务处理1. 服务请求2. 登记日志 (OK)3. 服务处理4. 返回结果服务接入操作日志服务服务处理1. 服务请求2. 登记日志(违背唯一约束)3. 拒绝处理*基于资源的并发控制 (悲观) 经典的资源并 发控制方式。 事务长度限制 了系统伸缩能 力。 不适用热点资 源。资源服务处理引擎领域仓储2. 加载并锁定资源root对象领域对象/服务3. 领域对象操作4. 持久领域对象1. 开始事务5. 提交事务*基于资源的并发控制(乐观) 同样经典的资 源并发控制方 式。 事务长度短, 提高系统伸缩 性。 同样不适用于 热点资源。资源服务处理引擎领域

12、仓储1. 加载领域对象领域对象/服务2. 领域对象操作4. 更新领域对象同时检查并发3. 开始事务5. 提交事务*基于分布式锁服务的并发控制没有可加锁的 资源,怎么办 ? 以操作实例Id 作为锁标识。 每个锁都有生 命周期 (lock_delay) 过期锁被自我 释放。 服务处理时间 不应超过 lock_delay。服务接入分布式锁服务服务处理1. 服务请求2. 申请互斥锁 (带 lock_delay)3. 服务处理5. 返回结果4. 释放互斥锁超时,自动释放锁*请求丢弃 服务请求包含 处理期限 ( = 请求发出时间 + 客户端超时 设置) 已过期的请求 直接丢弃,腾 出宝贵服务处 理资源。服

13、务接入服务处理1. 从队列中取出服务请求3. 丢弃请求2. 请求已过期? (Yes)*时间控制 延误的处理 比不处理更糟 糕。 一个业务活 动是否要继续 处理,取决于 整体期限。 整体期限在统 一业务活动上 下文中传输。 考虑服务器时 间差异补偿。商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x200:00.000/1000ms00:00.800/500ms00:01.100 00:01.000*领域自检 不变式 状态变迁 资源服务处理引擎领域仓储2. 加载并锁定资源root对象领域对象/服务4. 领域对象

14、操作6. 持久领域对象1. 开始事务7. 提交事务3. 领域对象自检5. 领域对象自检*分布事务 (TCC模式) Try: 尝试执行 业务 Confirm:确认 执行业务 Cancel: 取消 执行业务业务服务tryXconfirmXcancelX*分布事务 (TCC模式)基于TCC模式 的分布事务执 行过程示例。商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2一次资金记账操作分为两步: (1) try: 完成所有账务处理必 须的业务检查与资源(资 金)预留。 (2) confirm: 释放资源并真正 进

15、行账务处理。 confirm操作在整个业务活动 结束后由系统自动完成。*分布事务 (补偿模式) do: 真正执 行业务 compensate: 业务补偿业务服务doXcompensateX*分布事务 (补偿模式)一次补偿模式 的业务执行过 程。 商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2如果整个业务活动回滚 ,而积分已发放,该操 作可以被补偿。*关于健壮的基础设施支持 控制请求量: 配合管理服务 幂等控制: 操 作日志服务 并发控制: 分 布锁服务 时间控制: 上 下文服务 事务控制: 分 布事务服务数据企业服务总线展现与交互流程与决策组件与服务数据与应用集成跨企业集成服务 目录服务 监控其它 公共 技术 服务后端应用渠道browser客户端移动设备语音外部企业应用服务 代理操作 日志配额 管理分布 锁上下 文分布 事务*小结 生产环境是严酷的 设计对故障条件免疫的服务 设计可靠、可恢复的业务活动 健壮的应用需要大量SOA基础设施的支持*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号