欢迎来到天天文库
浏览记录
ID:37295657
大小:3.12 MB
页数:35页
时间:2019-05-21
《大规模SOA系统中的分布事务处事-程立》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、大规模SOA系统中的分布事务处理程立支付宝产品技术与用户体验部2008年12月提要•从单应用系统的事务应用数据库•到大规模SOA系统中的事务客户的系统•内容提要遗留系统集成开放服务–山穷水尽(背景与历史)–柳暗花明(原则与模式)流程服务业务服务领域服务–又一山寨(框架与设施)门户服务合作伙伴集成数据数据数据数据数据数据合作伙伴的系统10:332山穷水尽Googling•“transactionprocessing”约有1,940,000项符合的查询结果•“distributedtransaction”约有260,000项符合
2、的查询结果•“distributedtransaction”+practice约有24,700项符合的查询结果•“distributedtransaction”+“successstory”约有265项符合的查询结果/•“distributedtransaction”+sucks约有1,370项符合的结果•“distributedtransaction”+hope约有17,500项符合的结果☺10:333事务事务:事务3由一组操作构成的可靠、事务2独立的工作单元事务1ACID:•Atomicity(原子性)•Consiste
3、ncy(一致性)资源位置CC1C4•Isolation(隔离性)•Durability(持久性)BB3难点:•高度并发AA1A5•资源分布•大时间跨度12345操作时间10:334本地事务本地事务事务由资源管理器(如开始会话DBMS)本地管理应用优点开始事务/•支持严格的ACID属性应用服务器操作1资源管理器•可靠APRM•高效…•状态可以只在资源管理器/应用框架中维护操作n•应用编程模型简单(在框日志架或平台的支持)提交/回滚事务局限锁完成会话•不具备分布事务处理能力•隔离的最小单位由资源管理器决定,如数据库中的一条记录1
4、0:335全局事务(DTP模型)全局事务应用/应用框架/应用服务器事务由全局事务管理AP1.2.4.3.5.器全局管理开始全局事务注册资源注册资源6.操作操作提交事务事务管理器1..n1..n管理全局事务状态与12参与的资源,协同资源的一致提交/回滚事务资源资源TX协议管理器管理器管理器TM应用或应用服务器与RM1RM2事务管理器的接口7.准备8.准备XA协议9.提交全局事务管理器与资10.提交源管理器的接口10:336两阶段提交(TwoPhaseCommit)准备操作与ACID事务管理器•A:准备后,仍可提交与回滚TM1.
5、3.2.4.•C:准备时,一致性检查必须OKOKOK准备提交OK准备提交OK•I:准备后,事务结果仍然只在事务内可见资源管理器资源管理器RM1RM2•D:准备后,事务结果已经持久局限事务管理器TM•协议成本(准备操作是一定1.3.2.4.必须的吗)OKOKNOOK准备回滚准备回滚•准备阶段的持久成本•全局事务状态的持久成本资源管理器资源管理器•潜在故障点多带来的脆弱性RM1RM2•准备后,提交前的故障引发一系列隔离与恢复难题10:337跨域的全局事务(DTP模型)问题应用/应用框架/应用服务器•事务上下文如何跨域传递?AP•
6、多事务管理器如何协同?TXTxRPC等•异构事务域间的标准是什么?资源资源XA事务XA+通信资源通信资源通信资源管理器管理器管理器管理器管理器管理器RM1RMTMCRMCRM管理事务域间或事务域内的通信,允许全局事务信息跨主事务域域传递分支事务域XA+协议应用/应用框架/应用服务器是XA的超集,增加指令使事AP务管理器间可以相互协同TXTxRPC等局限•更高协议成本资源资源XA事务XA+通信资源通信资源管理器管理器管理器管理器管理器•脆弱,故障点多RM1RMTMCRMCRM•故障影响大,恢复困难•复杂,更多架构与平台约束10
7、:338Java企业平台中的分布事务实现JTA面向应用、应用服务器与资源管理器的高层事务接口JTSJTA事务管理器的实现标准,向上支持JTA,向下通过CORBAOTS实现跨事务域的互操作性EJB基于组件的应用编程模型,通过声明式事务管理进一步简化事务应用的编程优点•简单一致的编程模型•跨域分布处理的ACID保证局限•DTP模型本身的局限•缺少充分公开的大规模、高可用、密集事务应用的成功案例10:339其它资源WS-Transaction标准OASIS组织通过的WebService事务标准,包含WS-Cordination、W
8、S-AtomicTransaction、WS-BusinessActivityJbossTransactions系统开源的JTA、JTS、WS-Transaction标准的实现Paxos算法分布式系统中就某个提议达成一致决议的算法族10:3310柳暗花明原则•真正重要的是满足业务需求,而不
此文档下载收益归作者所有