Search code examples
cluster-computingdistributed-computingcap

CAP: Could we sacrifice Availability to gain Partition tolerance?


My understanding: In essence, A and P are the same thing. Because from the perspective of the entire multi-node cluster, AP is always positively correlated: there is basically no way for us to make design choices such as "sacrificing A to get P" or "sacrificing P to get A".

For example: Can you design a high-availability multi-node cluster that does not allow network partitions (that is: once a network partition appears, it will be unavailable)?

Single-node systems are not considered here, because CAP is a law for distributed clusters.


Solution

  • Therefore, the CAP theory can only be interpreted as: when the multi-node cluster has a network partition (P), and it is so serious that no partition in the cluster contains the majority nodes. You can now choose to maintain consistency (C) or maintain availability (A).