第二章:核心概念¶
全局事务¶
全局事务定义¶
全局事务生命周期¶
全局事务生命周期:
1. TM 开启全局事务
↓
2. TM 注册全局事务到 TC
↓
3. RM 注册分支事务到 TC
↓
4. RM 执行分支事务
↓
5. TM 提交/回滚全局事务
↓
6. TC 协调 RM 提交/回滚
分支事务¶
分支事务定义¶
分支事务类型¶
全局锁¶
全局锁定义¶
全局锁机制¶
undo_log¶
undo_log 定义¶
undo_log 结构¶
CREATE TABLE `undo_log` (
`id` bigint NOT NULL AUTO_INCREMENT,
`branch_id` bigint NOT NULL,
`xid` varchar(100) NOT NULL,
`context` varchar(128) NOT NULL,
`rollback_info` longblob NOT NULL,
`log_status` int NOT NULL,
`log_created` datetime NOT NULL,
`log_modified` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB;
XID¶
XID 定义¶
XID 传递¶
事务隔离¶
全局事务隔离¶
写隔离¶
读隔离¶
小结¶
核心概念要点:
- 全局事务:跨多个服务的分布式事务
- 分支事务:全局事务的一部分
- 全局锁:保证数据一致性
- undo_log:AT 模式回滚日志
- XID:全局事务唯一标识
- 事务隔离:全局事务隔离级别
下一章我们将学习 AT 模式。