Laws of Software Engineering · Law
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.
How to use it. Every consensus system (Raft, Paxos, blockchains) makes a trade. Usually it gives up the time guarantee. Know which one your tools have given up before you build on them.
How it gets misused. Used to argue that distributed consensus is impossible. The result rules out one specific combination of guarantees. Consensus itself remains possible.
Related
-
Law CAP Theorem When part of a distributed system is cut off, you must choose between consistent data and available service.
-
Law Two Generals' Problem Two parties communicating over an unreliable channel cannot guarantee they have agreed on anything.
Clusters
- The Distributed Systems cluster - The mathematics of what is possible across a network.