当前位置首页 > 生活休闲 > 科普知识
搜柄,搜必应! 快速导航 | 使用教程

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

文档格式:PPT| 42 页|大小 2.66MB|2024-12-13 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 42
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,准备好发射了吗?,面向生产环境的,SOA,系统设计,*,典型,SOA,应用,展现服务,产品服务,公共服务,基础服务,集成服务,基础服务,公共服务,公共服务,公共服务,外部服务提供者,服务使用者,集成服务,一个,SOA,应用由一系列服务松散复合而成服务使用者,服务的内部,服务接入,流程、任务、决策,领域仓储,外部服务,资源,外部服务,领域对象,服务代理,每个服务都是自包含、自主运行的功能单元服务是基础架构单元,作为基础业务、应用与技术架构单元,服务具有丰富的含义服务使用者,服务提供者,服务,质量约束,服务位置,功能描述,交互模式,通信协议,消息格式,*,SOA,技术基础设施,SOA,应用需要一系列技术基础设施的支持数据,企业服务总线,展现与交互,流程与决策,组件与服务,数据与应用集成,跨企业集成,服务目录,服务监控,公共,技术服务,后端应用,渠道,browser,客户端,移动设备,语音,外部企业应用,*,一个典型的电子支付应用,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,通过建设基础业务平台,达到快速构建与改进上层的产品与解决方案的目标。

    基础业务平台,产品与解决方案,x2,*,交付前,你胸有成竹吗,性能,容量,健壮,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,?,x2,*,性能,针对性能的分析与优化,*,响应时间分析,如何合理地估算服务的响应时间?,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,200,250,10,350,100,150,300,(10*3+350+100+150+300)+50,=980,990,x2,30,*,响应时间优化,通过异步调用降低响应时间,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,200,10,350,100,150,(10*3+350+100+150+10)+50,=690,700,async,10/300,x2,250,30,*,响应时间优化,通过,future,异步调用降低响应时间,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,200,10,350,(10*3+350+max(100,150)+10)+50,=590,600,async,10/300,future,future,100,150,x2,250,30,*,关于性能的基础设施支持,知晓所有服务的响应时间数据,:,服务监控,支持各种异步服务使用,:,服务通信总线,数据,企业服务总线,展现与交互,流程与决策,组件与服务,数据与应用集成,跨企业集成,服务目录,服务监控,公共,技术服务,后端应用,渠道,browser,客户端,移动设备,语音,外部企业应用,*,小结,在设计阶段就必须估算与优化性能,准确估算性能依赖于真实的监控数据,尤其是业务平台的性能监控数据,灵活的服务通信设施使提升性能成为可能,*,容量,针对容量的分析与优化,*,吞吐量分析,如何合理地估算新业务上线对容量的需求?,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,?,?,50,50,150,50,50,50,50,x2,50,50,50,150,*,吞吐量分析,平台容量对业务容量的约束,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,50,50,150,50,50,50,50,x2,50,50,50,150,90(3/5),50*min(4/5,3/5),=30,120(4/5),*,关键服务的吞吐量优化,充分扩容,平衡扩容,消除资源单点瓶颈,服务使用者,服务提供者,服务,服务吞吐量,伸缩公式,伸缩上限,单资源吞吐量上限,*,非关键服务的吞吐量优化,非关键的业务服务的容量允许短路,提供降级服务。

    商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,optional,optional,*,资源使用分析,估算新业务对关键资源的使用,(,以,SQL,执行次数为例,),商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,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,*,资源使用优化,通用服务代理缓存服务结果服务提供者支持检查资源更新时间戳服务使用者,服务提供者,1.,查询,(,资源,Id),服务结果,cache,key=,服务,+,操作,+,资源,Id,value=,资源,Id+,时间戳,+,服务结果,通用服务代理,2.,检查,cache(Y),5.,返回,cache,结果,3.,是否更新,?,4.No,*,关于容量的基础设施支持,知晓所有服务的吞吐量与资源使用,:,服务监控,支持,optional,服务使用,:,服务通信总线,服务结果,cache:,服务代理,数据,企业服务总线,展现与交互,流程与决策,组件与服务,数据与应用集成,跨企业集成,服务目录,服务监控,公共,技术服务,后端应用,渠道,browser,客户端,移动设备,语音,外部企业应用,服务代理,*,小结,在设计阶段就必须估算与优化容量,充分、平衡对业务平台进行扩容,既有前瞻性又控制成本,针对,“,热点,”,进行优化,准确估算容量依赖于真实的监控数据,区别业务的等级,*,健壮,在不确定的世界中交付确定的服务,*,单个服务的故障条件,服务使用者,服务接入,流程、任务、决策,领域仓储,外部服务,资源,外部服务,领域对象,服务代理,唯一确定的是不确定。

    并发请求,重复请求,超量请求,资源不可用,资源响应超时,通信中断,外部服务响应超时,外部服务违背功能契约,BUG,处理超时,服务不可用,请求积压,处理中断,*,故障空间组合爆炸,处处都有多种故障可能,可能穷尽其组合吗?,商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,重复请求,BUG,外部服务中断,资源不可用,*,应对方式,避免发生,降低概率,控制影响,快速恢复,故障条件,应对方式,超量请求,配额控制,重复请求,幂等控制,并发请求,并发控制,请求积压,请求丢弃,服务,/,资源响应超时,时间控制,可恢复通信故障,合理重试,处理中断,事务,/,分布事务,BUG,自检,*,局部配额控制,一种简单的基于令牌的配额控制方法令牌服务维持本地各个服务的可用令牌数服务接入,令牌服务,服务处理,1.,服务请求,2.,申请令牌,(Y),3.,服务处理,4.,归还令牌,5.,返回结果,服务接入,令牌服务,服务处理,1.,服务请求,2.,申请令牌,(N),3.,拒绝请求,*,幂等服务,同一个服务操作实例最多只允许执行一次。

    资源,一个服务操作实例,两种操作实例标识法,:,基于业务活动,实例,Id=,业务活动,Id+,操作序号,(2),基于资源,实例,Id=,资源,Id+,操作类型,动作,1,动作,2,动作,3,一次业务活动执行,*,幂等控制,一种简单的基于操作日志的幂等控制方法操作实例,Id,上建立唯一性约束操作日志不仅用于幂等控制,还可用于操作审计等用途服务接入,操作日志服务,服务处理,1.,服务请求,2.,登记日志,(OK),3.,服务处理,4.,返回结果,服务接入,操作日志服务,服务处理,1.,服务请求,2.,登记日志,(,违背唯一约束,),3.,拒绝处理,*,基于资源的并发控制,(,悲观,),经典的资源并发控制方式事务长度限制了系统伸缩能力不适用热点资源资源,服务处理引擎,领域仓储,2.,加载并锁定资源,root,对象,领域对象,/,服务,3.,领域对象操作,4.,持久领域对象,1.,开始事务,5.,提交事务,*,基于资源的并发控制,(,乐观,),同样经典的资源并发控制方式事务长度短,提高系统伸缩性同样不适用于热点资源资源,服务处理引擎,领域仓储,1.,加载领域对象,领域对象,/,服务,2.,领域对象操作,4.,更新领域对象同时检查并发,3.,开始事务,5.,提交事务,*,基于分布式锁服务的并发控制,没有可加锁的资源,怎么办?,以操作实例,Id,作为锁标识。

    每个锁都有生命周期,(lock_delay),过期锁被自我释放服务处理时间不应超过,lock_delay,服务接入,分布式锁服务,服务处理,1.,服务请求,2.,申请互斥锁,(,带,lock_delay),3.,服务处理,5.,返回结果,4.,释放互斥锁,超时,自动释放锁,*,请求丢弃,服务请求包含处理期限,(=,请求发出时间,+,客户端超时设置,),已过期的请求直接丢弃,腾出宝贵服务处理资源服务接入,服务处理,1.,从队列中取出服务请求,3.,丢弃请求,2.,请求已过期?,(Yes),*,时间控制,延误的处理比不处理更糟糕一个业务活动是否要继续处理,取决于整体期限整体期限在统一业务活动上下文中传输考虑服务器时间差异补偿商户接入,订单处理,支付处理,清算处理,通信前置,资金记账,收费处理,营销处理,客户信息,银行支付清算网,互联网商户,x3,安全核查,基础业务平台,产品与解决方案,x2,00:00.000/1000ms,00:00.800/500ms,00:01.100 00:01.000,*,领域自检,不变式,状态变迁,资源,服务处理引擎,领域仓储,2.,加载并锁定资源,root,对象,领域对象,/,服务,4.,领域对象操作,6.,持久领域对象,1.,开始事务,7.,提交事务,3.,领域对象自检,5.,领域对象自检,*,分布事务,(TCC,模式,),Try:,尝试执行业务,Confirm:,确认执行业务,Cancel:,取消执行业务,业务服务,tryX,confirmX,cancelX,*,分布事务,(TCC,模式,),基于,TCC,模式的分布事务执行过程示例。

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

    点击阅读更多内容
    卖家[上传人]:mdeha
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档