




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布式事务技术方案,2012.08.14Rain,目录,分布式事务概述JAVA事务背景解决方案参考引用,概述,简单的说分布式事务就是操作多个数据库之间的事务。在分布式事务管理领域,X/Open的DTP模型是业界最被广泛接受分布式事务管理模型。DTP模型中有一个非常重要的模型,叫TwoPhaseCommitProtocol。该协议作用于transactionmanager和resourcemanagers之间,保证所有的resourcemanagers要么都commit,要么都abort。,JAVA事务背景,Java的事务实现构架遵循了DTP模型,主要有两部分组成:JTS(JavaTransactionService)和JTA(JavaTransactionAPI)。JTS主要规定了DTP模型中transactionmanager的实现方式,而JTA则定义了applicationprograms,transactionmanager及resourcemanager之间的接口。JTA可以分为三类,分别为针对application接口,transactionmanager接口和resourcemanager接口。,解决方案,一.Spring分布式事务1Spring+JOTM2Spring+ATOMIKOSspring2支持以上1,2两种,但在spring3.0以后spring已经不支持JOTM,而专注支持ATOMIKOS,主要基于以下考虑:1JOTM基于XAPOOL,而XAPOOL稳定性比较差2ATOMIKOS为配置方面比JOTM容易并且其有商业版本和开源免费版本二.自定义程序MQ,Spring+JOTM,Spring+JOTM关键配置,Spring+JOTM,Spring+JOTM,Spring+JOTM,如果使用的是spring3以及3以后的版本需要自己实现JotmFactoryBean,可以直接从spring2.5中拷贝。通过以上配置就在spring中实现了分布式事务处理。,Spring+ATOMIKOS,Spring+ATOMIKOS关键配置,Spring+ATOMIKOS,Spring+ATOMIKOS,Spring+ATOMIKOS,自定义程序实现,自定义程序实现分布式事务需要自定义XAConnection,XAResource,Xid等,并且需要手动启动,执行,回滚事务,自定义程序实现,MQ,MQ方式即补偿事务方式。原理:在需要回滚的事务链中,一旦某个节点出现异常,该节点之前节点事务根据需要灵活进行回滚,在出现异常的节点发消息给前面相关的各个节点Queue通知其回滚本次事务。,MQ,场景一:单向,MQ,场景二:分支,MQ,处理流程:1.一旦某节点事务失败,那么将返回失败消息给前台界面或者HHT,同时发消息给链前面的节点2.前台实时收到返回失败的信息,而链上每个节点都有其监听器在实时监听自己的消息队列,一旦有消息,将根据需要(实时或者非实时)进行处理即回滚前期的事务,但对于前台是透明的。3.Message设计,需要查询到本次链的轨迹,即在链尾或者链叶子节点能查询到该链的各个节点。可以通过唯一的事务ID并且每经过一节点设置其节点位置。Message可以存到数据库或者文件或者其他方式。单向链:开卡队列Message:【事务ID:2012081401,位置:100】,MQ,会员队列Message:【事务ID:2012081401,位置:200】账户队列Message:【事务ID:2012081401,位置:300】分支链:开卡队列Message:【事务ID:2012081402,位置:100】会员队列Message:【事务ID:2012081402,位置:200】账户队列Message:【事务ID:2012081402,位置:310】X队列Message:【事务ID:2012081401,位置:320】4.回滚原则:根据业务需要,确定失败节点前某个或者某些节点需要回滚。,总结,分布式事务使用原则:一般尽量避免分布式事务或者优化业务规则来避开分布式事务。除前面的方案,还有EJB,ZOOKEEPER等技术方案也可解决分布式事务,同样类似JBOSS,IBM等厂商均有自己的分布式事务方案。,各种分布式解决方案对比:,总结,参考引用,参考资料:1.JSR907规范之JTA1.12./display/KULRI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江农林大学暨阳学院《德语文学选读》2023-2024学年第一学期期末试卷
- 华中科技大学《篮球3》2023-2024学年第二学期期末试卷
- 铁岭师范高等专科学校《嵌入式系统设计C(实验)》2023-2024学年第二学期期末试卷
- 板材沙发改造方案范本
- 蚌埠铸铁泄水管施工方案
- 2025至2031年中国大提琴琴弓行业投资前景及策略咨询研究报告
- 车辆报废拆解方案范本
- 广西壮族自治区柳州市铁一中学2024-2025学年高二3月月考语文试题(原卷版)
- 山东抽风罩施工方案
- 2025农业合作社土地租赁合同范本
- 广东省2024-2025学年佛山市普通高中教学质量检测英语试卷及答案(二)高三试卷(佛山二模)
- 2025年教师招聘考试公共基础知识心理学试题200题及答案
- 铁路调车综合实训铁鞋的使用和注意事项课件
- 足浴合伙投资协议书
- 早产儿脑室内出血预防专家共识(2025)解读 2
- 内墙涂料施工方案
- 2025年春季学期形势与政策第二讲-中国经济行稳致远讲稿
- 2024年广东省佛山市顺德区中考语文二模试卷
- 家长要求学校换老师的申请书
- 消化系统的结构与功能
- ECOLAB 虫害培训资料PPT精品文档
评论
0/150
提交评论