Laws of Software Engineering · Law
Law
CAP Theorem
When part of a distributed system is cut off, you must choose between consistent data and available service.
How to use it. The trade-off only matters when the connection between your machines breaks. Decide what your system should do during a break. Normal running does not force the choice.
How it gets misused. "Pick two of three." You cannot choose whether breaks happen. They happen anyway. You only choose what to give up when they do.
Related
-
Law Two Generals' Problem Two parties communicating over an unreliable channel cannot guarantee they have agreed on anything.
-
Law FLP Impossibility In a distributed system where any one node might fail, you cannot guarantee that all working nodes will agree on a value within a fixed time.
-
Principle Fallacies of Distributed Computing Eight things people wrongly assume about networked systems: the network is reliable, there is no delay, bandwidth is unlimited, the network is secure, the topology never changes, there is one administrator, moving data is free, the network is uniform.
Clusters
- The Distributed Systems cluster - The mathematics of what is possible across a network.