分布式理论之ACID理论
01 | ACID理论
1、简介
1. ACID理论是对事物特性的抽象和总结,方便我们实现事务。
2. 可以理解成:如果实现了操作的 ACID 特性,那么就实现了事务。
3. 实现分布式系统的 ACID 特性,需要掌握分布式事务协议,例如二阶段提交和TCC(Try-Confirm-Cancel)
2、二阶段提交协议
1. 定义:通过二阶段的协商来完成一个提交操作
2. 第一阶段:提交请求阶段(又称投票阶段)
3. 第二阶段:提交执行阶段(又称完成阶段)
3、TCC
1. TCC是Try(预留)、Confirm(确认)、Cancel(撤销)3个操作的简称。它包含预留、确认或撤销这2个操作。
2. TCC本质上是补偿事务,它的核心思想是针对每个操作都要注册一个与其对应的确认操作和补偿操作(也就是撤销操作)
02 | ACID理论内容小结
1、二阶段提交
1. 二阶段提交协议,不仅仅是协议,也是一种非常经典的思想。
2. 二阶段提交在达成提交操作共识的算法中应用广泛,比如XA协议、TCC、Paxos、Raft等。
2、幂等性
1. 定义:指同一操作对同一系统的任意多次执行,所产生的影响相同,且不会产生副作用。
2. 本质是通过唯一标识,标记同