分布式事务专栏导览
标签
分布式/事务
字数
767 字
阅读时间
4 分钟
本专栏按一致性强度与实现复杂度的取舍,收录分布式事务的三种主流模型。
| 不收 | 去哪看 | 本专栏只关心 |
|---|---|---|
| 共识算法本身的证明与推导(FLP、Paxos、Raft) | 一致性共识算法 | 事务提交这一侧如何借用共识(Paxos Commit、uniform consensus) |
| 存储系统如何落盘、复制、分区(GFS、Bigtable、Spanner、Dynamo) | 分布式存储 | 跨资源写入时的一致性协议与补偿机制 |
| 分库分表、读写分离这类数据层架构 | 分布式 母导览 | 事务边界跨越多个资源时的提交、回滚与补偿 |
目录
- 01 · 分布式事务 —— XA / 2PC 的六个接口与 XID、3PC 的阻塞窗口、TCC 的空回滚与悬挂、Saga 的补偿语义,以及本地消息表、RocketMQ 事务消息、最大努力通知,附四类分支与排查线索
阅读顺序
目前 1 篇,三种事务模型与几种最终一致方案在同一篇内横向对比。
阅读顺序按「形态 → 理论判据 → 工程实现」三段走:
- 先读
## XA 模型、## TCC 模型、## Saga 模型与## 三种模型的适用场景,建立三种模型的形态与对照; - 再读
## 安全性与活性:2PC 的问题出在哪到## 用共识视角看 CAP,用安全性与活性这把尺子判断谁好谁坏,并看清 Paxos Commit 如何给协调者容错; - 最后读工程实现部分:
## XA 的 wire level、## 3PC、## TCC 的三个真问题、## Saga 的补偿语义、## 本地消息表、## 事务消息、## 最大努力通知,以及末尾的配置项、版本演进、底层依赖、取舍边界与排查线索。
若后续各自展开,按 XA → TCC → Saga 拆成 01 / 02 / 03。
相关
- 分布式 —— 母导览:事务是一致性在「多资源写入」这一侧的落点;
- 一致性共识算法 —— Paxos Commit 与 uniform consensus 的共识侧;
- 分布式存储 —— 存储系统自身如何提供事务(Spanner 的 2PC、MegaStore 的 Paxos);
- 01-CAP 定理、02-BASE 理论、03-一致性模型 —— 本专栏取舍口径的上游定理与模式。
参考
- J. Gray. Notes on Database Operating Systems. 1979.
- D. Skeen. NonBlocking Commit Protocols. SIGMOD 1981.
- L. Lamport, J. Gray. Consensus on Transaction Commit. ACM TODS 2006.
- D. Pritchett. Base: An Acid Alternative. ACM Queue 2008.
- Oracle. MySQL 8.0 Reference Manual: XA Transactions. https://dev.mysql.com/doc/refman/8.0/en/xa.html
- Apache RocketMQ. Transaction Message. https://rocketmq.apache.org/docs/featureBehavior/04transactionmessage/
- Apache Seata. Client Configuration. https://seata.apache.org/docs/user/configurations/
YJ