基本定义
- 一致性(C):分布式系统中的各个节点的数据访问结果必须一致。
- 可用性(A):分布式系统中某些节点挂了,系统还能正常运行。
- 分区容忍性(P):一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区,也叫脑裂。系统满足P的表示,出现分区对系统没影响或影响不大。
原则说明:
- CA:满足 A,C,而不满足 P 意味着当网络分区没有发生时,系统既能满足 A,也能满足C,而当存在网络分区时,将不再保证 A,C。
- PA:系统在出现分区(某些节点间无法通信)时也能保证A。
- PC:系统在出现分区(某些节点间无法通信)时也能保证C。
不同的应用场景需求不同,需满足点不同,例如zk可满足CA。