XTS 支付宝分布式事务学习指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I


1 概 述........................................................................................................................................................ 1 2 XTS 分布式事务原理 ............................................................................................................................ 2
2014-07-25 2014-07-25 2014-07-29 2014-07-30
1.0.7
@柳成
重新出说明,感谢@虞卿 指正
2014-07-31
1.0.8
@柳成
重新绘制 2.4.2 中所有图中二阶段的流程
2014-08-30
II
1


1


XTS(eXtended Transaction Service)框架[1],是支付宝的一个极为核心而且复杂的分布式事务技术 框架,在支付宝有广泛地使用,主要用于保证在账务、资金等操作的事务一致性,因此 XTS 框架足以称为 支付宝分布式事务框架。因为其应用场景和理论知识的复杂性,使得整个框架的配置和理解不那么简单和 易学,因此不少新同学在理解 XTS 和配置 XTS 上走了很多弯路。本文是作者在学习 XTS 的过程中思考和 总结的结果,主要对 XTS 的理论基础和基本概念(@柳成 整理) 、XTS 的实例分析和配置使用方法(@潇 桐 整理) 、XTS 源码浅析(@柳成 整理)这三个方面来对 XTS 进行一个较为全面的入门学习,希望能在 某些方面能够解答新人学习时的疑惑。
2.1 分布式事务 ................................................................................................................................................ 2 2.2 为什么需要 XTS ....................................................................................................................................... 2 2.3 支付宝分布式事务基础模型 ................................................................................................................... 2
2.5 小结 ........................................................................................................................................................... 15
3.2.1 编写 Action .................................................................................................................................... 16 3.2.2 编写 Activity ................................................................................................................................... 18
2.3.1 X/Open DTP 模型 ............................................................................................................................ 3 2.3.2 两阶段提交协议 .............................................................................................................................. 3 2.3.3 最末参与者优化(LPO) .................................................................................................................... 4
3.3 异库模式................................................................................................................................................... 24 3.4 理解同库和异库模式 .............................................................................................................................. 26 3.5 参与者的 local/remote 模式 ................................................................................................................. 28 3.6 嵌套事务................................................................................................................................................... 28 3.7 模式小结................................................................................................................................................... 29 3.8 详解配置(同库模式).......................................................................................................................... 31
修订日期 2014-07-22 2014-07-23 2014-07-24
1.0.3 1.0.4 1.0.5 1.0.6
@潇桐 @柳成 @柳成 @柳成
对文档细节提出疑问和修订,给出修改意见 针对修改意见完成细节修改 修正 2.4.2 中几处错误,感谢@宾雨 指正 对一种 recover 的特殊情况进行考虑,总结出答案并添 加在 4.4,感谢@宾雨 的讨论
4 XTS 主要流程源码浅析 ..................................................................................................................... 33
4.1 发起方流程(一阶段).......................................................................................................................... 33 4.2 参与者流程(一阶段).......................................................................................................................... 38 4.3 参与者提交/回滚过程(二阶段) ........................................................................................................ 42 4.4 XTS 恢复机制执行流程 .......................................................................................................................... 47 4.5 小结 ........................................................................................................................................................... 53
3 XTS 实例分析和配置使用 ............................................................................................................... 16
3.1 XTS 里的基本概念 .................................................................................................................................. 16 3.2 同库模式................................................................................................................................................... 16
XTS 支付宝分布式事务学习指南
@潇桐 @柳成
支付宝-成都应用研发中心-创新支付工具组-卡券平台
V1.0.8
修订历史
版本号 1.0.0 1.0.1 1.0.2
修订人 @潇桐 @柳成 @柳成
内容提要 初建文档,完成 XTS 实例分析和配置部分编写 增加 XTS 理论基础部分 1. 2. 增加 XTS 源码浅析部分 完成排版
2.4 XTS 基本概念和分布式事务执行流程................................................................................................... 4
2.4.1 事务发起者&参与者 ........................................................................................................................ 5 2.4.2 发起方&参与者不同模式下执行流程 ............................................................................................ 7 2.4.3 XTS 异常处理工作原理................................................................................................................. 14
相关文档
最新文档