CAP定理
- 一致性:分布式应用读写是一致的,应用A做了修改应用B读取时会获取修改
- 可用性:分布式应用服务是可访问的
- 分区容错性:分布式应用之前存在网络问题会导致各个应用无法通讯
分区容错性是必须要保证的。一致性和可用性不能同时保证,假如应用A做了修改为了保证一致性在A没有做数据同步到B的时候B不能进行访问。
BASE理论
根据CAP定理,一致性和可用性是不能同时达到的。所以提出了BASE理论。
- 基本可用:出现故障的时候允许损失部分可用性
- 软状态:是指系统存在中间状态,中间状态会有不一致或不可用
- 最终一致性:允许延迟达到系统一致性
2PC和3PC
2阶段提交和3阶段提交是分布式事务的两种方案
2阶段提交是 prepare
和 commit
两个阶段
3阶段提交是 CanCommit
PreCommit
DoCommit
三个阶段
2阶段和3阶段的区别
- 2PC只做了协调者超时,3PC对协调者和参与者都做了超时
- 3PC多了一个阶段CanCommit没有占用资源,性能更优一些