IT168系统架构师大会

上传人:野鹰 文档编号:3029443 上传时间:2017-07-29 格式:PPTX 页数:42 大小:494.78KB
返回 下载 相关 举报
IT168系统架构师大会_第1页
第1页 / 共42页
IT168系统架构师大会_第2页
第2页 / 共42页
IT168系统架构师大会_第3页
第3页 / 共42页
IT168系统架构师大会_第4页
第4页 / 共42页
IT168系统架构师大会_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《IT168系统架构师大会》由会员分享,可在线阅读,更多相关《IT168系统架构师大会(42页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

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

7、,150,90 (3/5),120 (4/5),05:32,关键服务的吞吐量优化,充分扩容平衡扩容消除资源单点瓶颈,服务使用者,服务提供者,服务,服务吞吐量伸缩公式伸缩上限单资源吞吐量上限,05:32,非关键服务的吞吐量优化,非关键的业务服务的容量允许短路,提供降级服务。,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,optional,optional,05:32,资源使用分析,估算新业务对关键资源的使用 (以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,05:32,资源使用优化,通用服务代理缓存服务结果。服务提供者支持检查资源更新时间戳。,服务使用者,服务提供者,1. 查询(资源Id),服务结果cachekey=服务+操作+资源Idvalue=资源Id+时间戳+服务结果,通用服务代理,2. 检查cache (Y),5. 返回cache结果,3. 是否更新?,4.

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

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

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

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

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

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

15、000,05:32,领域自检,不变式 状态变迁,资源,服务处理引擎,领域仓储,2. 加载并锁定资源root对象,领域对象/服务,4. 领域对象操作,6. 持久领域对象,1. 开始事务,7. 提交事务,3. 领域对象自检,5. 领域对象自检,05:32,分布事务 (TCC模式),Try: 尝试执行业务Confirm:确认执行业务Cancel: 取消执行业务,业务服务,tryX,confirmX,cancelX,05:32,分布事务 (TCC模式),基于TCC模式的分布事务执行过程示例。,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,一次资金记账操作分为两步:try: 完成所有账务处理必须的业务检查与资源(资金)预留。confirm: 释放资源并真正进行账务处理。confirm操作在整个业务活动结束后由系统自动完成。,05:32,分布事务 (补偿模式),do: 真正执行业务compensate:业务补偿,业务服务,doX,compensateX,05:32,分布事务 (补偿模式),一次补偿模式的业务执行过程。,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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