CAP and eventual consistency
What is the CAP theorem?
The CAP theorem states that in a distributed system, you can have two out of the following three properties at a given point in time:
- Partition tolerance
To understand why, imagine what happens when two nodes on either side of a partition try to update the whole system.
At what level does CAP apply?
CAP is fine-grained. You can make different choices in different parts of your system. For example, for accepting orders, usually availability is desirable as you don't want to lose the orders!
What is eventual consistency?
A de-emphasizing of immediate consistency (that is, everything having the same view of the data all the time) in a system, in exchange for higher availability and greater autonomy of components.