Consistency, availability, and partition tolerance are the three major goals of distributed system design, and it is impossible to achieve all three at the same time.
The CAP Theorem about Distributed Systems
CAP theorem, also known as Brewer’s theorem, is a concept in computer science that states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees:
- Consistency: Every read receives the most recent update or an error.
- Availability: Every request receives a response, without the guarantee that it contains the most recent write.
- Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.