分布式理论之ACID理论

分布式理论之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. 本质是通过唯一标识,标记同一操作的方式,来消除多次执行的副作用。

3、应用

1. Paxos、Raft 等强一致性算法,也采用了二阶段操作,在“提交请求阶段”,只要大多数节点确认就可以。
2. 具有ACID特性的事务,要求全部节点确认才可以,所以可以将具有ACID特性的操作,理解为最强一致性。
3. 可以将 ACID 特性理解为 CAP 中一致性的边界,最强一致性。
4. 建议在开发实现分布式系统,如果不是必须,尽量不要实现事务,可以考虑采用最终一致性。

03 | 思维导图

1、ACID理论思维导图
在这里插入图片描述
参考文献:

[1] 韩健. 分布式协议与算法实战[M]. 极客时间, 2020.

猜你喜欢

转载自blog.csdn.net/z_z_z_666666/article/details/106797109
今日推荐