文档章节

【分布式事务系列】提出疑问和研究过程

陶邦仁
 陶邦仁
发布于 2015/12/09 11:58
字数 804
阅读 568
收藏 14

#0 系列目录#

对于我们这种初学者,可能会使用Spring带给我们的@Transactional,可能了解JTA,可能会使用jotm、atomikos,又会遇到一些名词XA,支持XA的数据库驱动等等诸多问题,然后就会愈加混乱,自然形成一个疑问,庞大的事务体系的全貌到底是什么样?

#1 需要解决的疑惑# 下面就要具体列出一系列需要解决的问题。

##1.1 对于事务模型##

  • 三种事务模型是什么?各自的特点是什么?各自的缺陷是什么?

##1.2 Spring对于事务模型的支持##

  • Spring自己的一系列接口设计:

  • PlatformTransactionManager 事务管理器

  • TransactionDefinition 事务定义

  • TransactionStatus 事务状态

  • 等等

  • 上述一系列接口的实现是如何对非分布式和分布式事务的支持的呢?

##1.3 针对分布式事务的规范##

  • X/Open DTP模型是什么?几个重要的概念是什么?
  • XA规范是什么?
  • 2PC是什么?

##1.4 针对JTA##

  • JTA是什么?JTS又是什么?
  • JTA与上述的规范又是什么关系?
  • JTA的接口都有哪些?分别是什么作用
  • JTA接口中有一个javax.transaction.TransactionManager,如何理解它与上述的PlatformTransactionManager呢?即它们各自的职责是什么?

##1.5 对于JTA实现##

  • 分布式事务需要数据库和驱动程序支持的吗?还是使用一般的数据库和驱动程序也可以实现分布式事务?
  • XADataSource与DataSource、XAConnection与Connection等等接口
  • 某些应用服务器没有实现JTA,如tomcat,某些应用服务器实现了JTA,如JBoss,具体是怎么实现的呢?
  • jotm、atomikos又是怎么来实现JTA的呢?需不需要数据库和驱动程序对XA的支持?
  • 2PC对于初学者经常沦为一种概念,在代码中是如何体现的呢?如何模拟2PC呢?

#2 研究过程# 先从非分布式事务开始,趁机理解Spring对于事务的支持原理,然后过渡到分布式事务,理解分布式事务的概念,源码分析分布式事务框架jotm、atomikos,理解它们实现分布式事务的原理。

##2.1 非分布式事务##

  1. jdbc事务开发的缺点
  2. Spring实现的编程式事务原理
  3. Spring利用AOP实现的声明式事务的接口设计与实现原理,为后面与jotm、atomikos的集成做铺垫
  4. 深刻理解了上面的例子后,再来看事务的三种模型,各自的特点、各自的缺陷

##2.2 分布式事务的一系列概念##

  1. X/Open DTP模型、XA规范、2PC
  2. JTA、JTS概念
  3. JTA接口定义的理解

##2.3 JTA的实现##

  1. jotm的例子,以及源码分析实现分布式事务的原理(如何体现2PC的过程)
  2. atomikos对非XADataSource和XADataSource的支持的例子,以及源码分析实现分布式事务的原理(如何体现2PC的过程)
  3. JBoss支持分布式事务的原理

© 著作权归作者所有

陶邦仁
粉丝 1688
博文 420
码字总数 1483887
作品 0
海淀
技术主管
私信 提问
分布式事务系列(开篇)提出疑问和研究过程

1 前言 系列目录 - 分布式事务系列(开篇)提出疑问和研究过程- 分布式事务系列(1.1)Spring事务管理器PlatformTransactionManager源码分析- 分布式事务系列(1.2)Spring事务体系- 分布式事...

乒乓狂魔
2015/05/12
6.6K
7
分布式架构_Index

分布式设计与开发 CAP原理和最终一致性(Eventually Consistency) 分布式算法 [分布式Paxos算法] 分布式一致性Hash算法 轮循算法(Round Robin) Hash求余算法(Hash) 最少连接算法(Least C...

陶邦仁
2015/12/07
1K
0
分布式事务系列(4.1)Atomikos的分布式案例

1 系列目录 - 分布式事务系列(开篇)提出疑问和研究过程- 分布式事务系列(1.1)Spring事务管理器PlatformTransactionManager源码分析- 分布式事务系列(1.2)Spring事务体系- 分布式事务系...

乒乓狂魔
2015/06/01
5.7K
4
分布式事务系列(3.1)jotm的分布式案例

1 系列目录 - 分布式事务系列(开篇)提出疑问和研究过程- 分布式事务系列(1.1)Spring事务管理器PlatformTransactionManager源码分析- 分布式事务系列(1.2)Spring事务体系- 分布式事务系...

乒乓狂魔
2015/05/25
2.6K
5
【分布式事务系列七】Atomikos的分布式案例

分布式事务 【分布式事务系列一】提出疑问和研究过程 【分布式事务系列二】Spring事务管理器PlatformTransactionManager 【分布式事务系列三】Spring的事务体系 【分布式事务系列四】分布式事...

陶邦仁
2015/12/21
383
0

没有更多内容

加载失败,请刷新页面

加载更多

CQRS与AXON

CQRS 看了蛮多文章,只会CRUD,却不懂CQRS,CQRS是遵循DDD思想而产生的一种模式,Command and Query Responsibility Segregation 命令与查询隔离。查询就直接通过正常的模式service调dao层。...

无极之岚
12分钟前
2
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
27分钟前
32
2
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
8
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部