本文主要介绍PolarDB-X分布式事务的基本原理。
分布式事务通常使用二阶段提交来保证事务的原子性(Atomicity)和一致性(Consistency)。
二阶段事务会将事务分为以下两个阶段:
- 准备(PREPARE)阶段:在PREPARE阶段,数据节点会准备好所有事务提交所需的资源(例如加锁、写日志等)。
- 提交(COMMIT) 阶段:在COMMIT阶段,各个数据节点才会真正提交事务。
当提交一个分布式事务时,PolarDB-X服务器会作为事务管理器的角色,等待所有数据节点(MySQL服务器) PREPARE成功,之后再向各个数据节点发送COMMIT请求。
关于如何使用分布式事务,详情请参见基于MySQL 5.7的分布式事务。