IT系统架构师大会课件_第1页
IT系统架构师大会课件_第2页
IT系统架构师大会课件_第3页
IT系统架构师大会课件_第4页
IT系统架构师大会课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、典型SOA应用展现服务产品服务公共服务基础服务集成服务基础服务公共服务公共服务公共服务外部服务提供者服务使用者集成服务一个SOA应用由一系列服务松散复合而成。2022/8/18第1页,共41页。服务使用者服务的内部服务接入流程、任务、决策领域仓储外部服务资源外部服务领域对象服务代理每个服务都是自包含、自主运行的功能单元。2022/8/18第2页,共41页。服务是基础架构单元作为基础业务、应用与技术架构单元,服务具有丰富的含义。服务使用者服务提供者服务质量约束服务位置功能描述交互模式通信协议消息格式2022/8/18第3页,共41页。SOA技术基础设施SOA应用需要一系列技术基础设施的支持。数据

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

3、台产品与解决方案?x22022/8/18第6页,共41页。性能针对性能的分析与优化2022/8/18第7页,共41页。响应时间分析如何合理地估算服务的响应时间?商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案20025010350100150300(10*3+350+100+150+300)+50=980990 x2302022/8/18第8页,共41页。响应时间优化通过异步调用降低响应时间商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台

4、产品与解决方案20010350100150(10*3+350+100+150+10)+50=690700async10/300 x2250302022/8/18第9页,共41页。响应时间优化通过future异步调用降低响应时间商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案20010350(10*3+350+max(100,150)+10)+50=590600async10/300futurefuture100150 x2250302022/8/18第10页,共41页。关于性能的基础设施支持 知晓所有服务的响

5、应时间数据: 服务监控 支持各种异步服务使用: 服务通信总线数据企业服务总线展现与交互流程与决策组件与服务数据与应用集成跨企业集成服务目录服务监控公共技术服务后端应用渠道browser客户端移动设备语音外部企业应用2022/8/18第11页,共41页。小结在设计阶段就必须估算与优化性能准确估算性能依赖于真实的监控数据,尤其是业务平台的性能监控数据灵活的服务通信设施使提升性能成为可能2022/8/18第12页,共41页。容量针对容量的分析与优化2022/8/18第13页,共41页。吞吐量分析如何合理地估算新业务上线对容量的需求?商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户

6、信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案?505015050505050 x25050501502022/8/18第14页,共41页。吞吐量分析平台容量对业务容量的约束商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案505015050505050 x250505015090 (3/5)50*min(4/5, 3/5)=30120 (4/5)2022/8/18第15页,共41页。关键服务的吞吐量优化充分扩容平衡扩容消除资源单点瓶颈服务使用者服务提供者服务服务吞吐量伸缩公式伸缩上限单资源

7、吞吐量上限2022/8/18第16页,共41页。非关键服务的吞吐量优化非关键的业务服务的容量允许短路,提供降级服务。商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2optionaloptional2022/8/18第17页,共41页。资源使用分析估算新业务对关键资源的使用 (以SQL执行次数为例)商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案51061081510 x2851513(13+(15*2)+10=5323(

8、6*3+53+23+15+10)+10=1291342022/8/18第18页,共41页。资源使用优化通用服务代理缓存服务结果。服务提供者支持检查资源更新时间戳。服务使用者服务提供者1. 查询(资源Id)服务结果cachekey=服务+操作+资源Idvalue=资源Id+时间戳+服务结果通用服务代理2. 检查cache (Y)5. 返回cache结果3. 是否更新?4. No2022/8/18第19页,共41页。关于容量的基础设施支持 知晓所有服务的吞吐量与资源使用: 服务监控 支持optional服务使用: 服务通信总线服务结果cache: 服务代理数据企业服务总线展现与交互流程与决策组件与

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

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

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

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

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

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

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

16、处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2一次资金记账操作分为两步:try: 完成所有账务处理必须的业务检查与资源(资金)预留。confirm: 释放资源并真正进行账务处理。confirm操作在整个业务活动结束后由系统自动完成。2022/8/18第36页,共41页。分布事务 (补偿模式)do: 真正执行业务compensate:业务补偿业务服务doXcompensateX2022/8/18第37页,共41页。分布事务 (补偿模式)一次补偿模式的业务执行过程。商户接入订单处理支付处理清算处理通信前置资金记账收费处理营销处理客户信息银行支付清算网互联网商户x3安全核查基础业务平台产品与解决方案x2如果整个业务活动回滚,而积分已发放,该操作可以被补偿。2022/8/18第38页,共41页。关于健壮的基础设施支持 控制请求量: 配合管理服务 幂等控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论