写点什么

XA 分布式事务

用户头像
风翱
关注
发布于: 刚刚

XA 分布式事务

基于第一个强一致的思路,就有了基于数据库本身支持的协议,XA 分布式事务。

XA 整体设计思路可以概括为,如何在现有事务模型上微调扩展,实现分布式事务。


X/Open,即现在的 open group,是一个独立的组织,主要负责制定各种行业技术标准。X/Open 组织主要由各大知名公司或者厂商进行支持,这些组织不光遵循 X/Open 组织定义的行业技术标准,也参与到标准的制定。


应用程序(Application Program ,简称 AP):用于定义事务边界(即定义事务的开始和结束),并且在事务边界内对资源进行操作。

资源管理器(Resource Manager,简称 RM):如数据库、文件系统等,并提供访问资源的方式事务管理器(Transaction Manager ,简称 TM):负责分配事务唯一标识,监控事务的执行进度,并负责事务

的提交、回滚等。


XA 接口

xa_start :负责开启或者恢复一个事务分支。

xa_end: 负责取消当前线程与事务分支的关联。

xa_prepare:询问 RM 是否准备好提交事务分支。

xa_commit:通知 RM 提交事务分支。

xa_rollback: 通知 RM 回滚事务分支。

xa_recover : 需要恢复的 XA 事务。


MySQL 从 5.0.3 开始支持 InnoDB 引擎的 XA 分布式事务,MySQL Connector/J 从 5.0.0 版本开始支持 XA。 


在 DTP 模型中,MySQL 属于资源管理器(RM)。分布式事务中存在多个 RM,由事务管理器 TM 来统一进行协调。

发布于: 刚刚阅读数: 2
用户头像

风翱

关注

还未添加个人签名 2017.11.24 加入

勇于尝试,持续成长

评论

发布
暂无评论
XA 分布式事务