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

上传人:本田雅阁 文档编号:2264909 上传时间:2019-03-13 格式:PPT 页数:42 大小:2.66MB
返回 下载 相关 举报
面向生产环境的SOA系统设计.ppt_第1页
第1页 / 共42页
面向生产环境的SOA系统设计.ppt_第2页
第2页 / 共42页
面向生产环境的SOA系统设计.ppt_第3页
第3页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

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

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

3、客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,?,x2,15:13,性能,针对性能的分析与优化,15:13,响应时间分析,如何合理地估算服务的响应时间?,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,200,250,10,350,100,150,300,(10*3+350+100+150+300)+50=980,990,x2,30,15:13,响应时间优化,通过异步调用降低响应时间,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账

4、,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,200,10,350,100,150,(10*3+350+100+150+10)+50=690,700,async,10/300,x2,250,30,15:13,响应时间优化,通过future异步调用降低响应时间,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,200,10,350,(10*3+350+max(100,150)+10)+50=590,600,async,10/

5、300,future,future,100,150,x2,250,30,15:13,关于性能的基础设施支持,知晓所有服务的响应时间数据: 服务监控 支持各种异步服务使用: 服务通信总线,数据,企业服务总线,展现与交互,流程与决策,组件与服务,数据与应用集成,跨企业集成,服务目录,服务监控,公共 技术服务,后端应用,渠道,browser,客户端,移动设备,语音,外部企业应用,15:13,小结,在设计阶段就必须估算与优化性能 准确估算性能依赖于真实的监控数据,尤其是业务平台的性能监控数据 灵活的服务通信设施使提升性能成为可能,15:13,容量,针对容量的分析与优化,15:13,吞吐量分析,如何合理

6、地估算新业务上线对容量的需求?,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,?,?,50,50,150,50,50,50,50,x2,50,50,50,150,15:13,吞吐量分析,平台容量对业务容量的约束,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,50,50,150,50,50,50,50,x2,50,50,50,150,90 (3/5),120 (4

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

8、营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,5,10,6,10,8,15,10,x2,8,5,15,13,(13+(15*2)+10=53,23,(6*3+53+23+15+10)+10=129,134,15:13,资源使用优化,通用服务代理缓存服务结果。 服务提供者支持检查资源更新时间戳。,服务使用者,服务提供者,1. 查询(资源Id),服务结果cache key=服务+操作+资源Id value=资源Id+时间戳+服务结果,通用服务代理,2. 检查cache (Y),5. 返回cache结果,3. 是否更新?,4. No,15:13,关于容

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

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

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

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

13、事务长度短,提高系统伸缩性。 同样不适用于热点资源。,资源,服务处理引擎,领域仓储,1. 加载领域对象,领域对象/服务,2. 领域对象操作,4. 更新领域对象同时检查并发,3. 开始事务,5. 提交事务,15:13,基于分布式锁服务的并发控制,没有可加锁的资源,怎么办? 以操作实例Id作为锁标识。 每个锁都有生命周期(lock_delay) 过期锁被自我释放。 服务处理时间不应超过lock_delay。,服务接入,分布式锁服务,服务处理,1. 服务请求,2. 申请互斥锁 (带lock_delay),3. 服务处理,5. 返回结果,4. 释放互斥锁,超时,自动释放锁,15:13,请求丢弃,服务请

14、求包含处理期限 ( = 请求发出时间 + 客户端超时设置) 已过期的请求直接丢弃,腾出宝贵服务处理资源。,服务接入,服务处理,1. 从队列中取出服务请求,3. 丢弃请求,2. 请求已过期? (Yes),15:13,时间控制,延误的处理比不处理更糟糕。 一个业务活动是否要继续处理,取决于整体期限。 整体期限在统一业务活动上下文中传输。 考虑服务器时间差异补偿。,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,00:00.000/1000ms,00:00.800/500ms,0

15、0:01.100 00:01.000,15:13,领域自检,不变式 状态变迁,资源,服务处理引擎,领域仓储,2. 加载并锁定资源root对象,领域对象/服务,4. 领域对象操作,6. 持久领域对象,1. 开始事务,7. 提交事务,3. 领域对象自检,5. 领域对象自检,15:13,分布事务 (TCC模式),Try: 尝试执行业务 Confirm:确认执行业务 Cancel: 取消执行业务,业务服务,tryX,confirmX,cancelX,15:13,分布事务 (TCC模式),基于TCC模式的分布事务执行过程示例。,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处

16、理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,一次资金记账操作分为两步: try: 完成所有账务处理必须的业务检查与资源(资金)预留。 confirm: 释放资源并真正进行账务处理。 confirm操作在整个业务活动结束后由系统自动完成。,15:13,分布事务 (补偿模式),do: 真正执行业务 compensate:业务补偿,业务服务,doX,compensateX,15:13,分布事务 (补偿模式),一次补偿模式的业务执行过程。,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商

17、户,x3,安全核查,基础业务平台,产品与解决方案,x2,如果整个业务活动回滚,而积分已发放,该操作可以被补偿。,15:13,关于健壮的基础设施支持,控制请求量: 配合管理服务 幂等控制: 操作日志服务 并发控制: 分布锁服务 时间控制: 上下文服务 事务控制: 分布事务服务,数据,企业服务总线,展现与交互,流程与决策,组件与服务,数据与应用集成,跨企业集成,服务目录,服务监控,其它 公共技术服务,后端应用,渠道,browser,客户端,移动设备,语音,外部企业应用,服务代理,操作日志,配额管理,分布 锁,上下文,分布 事务,15:13,小结,生产环境是严酷的 设计对故障条件免疫的服务 设计可靠、可恢复的业务活动 健壮的应用需要大量SOA基础设施的支持,15:13,15:13,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1