Cap Theorem hard
Why is it theoretically impossible to distinguish a 'Slow Node' from a 'Crashed Node' in an asynchronous network?
- A Because standard TCP handshake protocols do not utilize active heartbeat signals during message transmission.
- B Because message delays are unbounded; a silent node might be crashed or simply experiencing extreme network latency.
- C Because modern CPU architectures lack the ability to provide high-precision hardware interrupts during a total crash.
- D Because regional firewalls can silently drop individual packets without sending a rejection or error signal back.
Answer: B. Because message delays are unbounded; a silent node might be crashed or simply experiencing extreme network latency.
In an asynchronous network model (the one we use on the internet), there is no limit on how long a message can take to arrive. If a node is silent, it might have crashed, or the message might just be delayed for 100 years. This ambiguity is the root of the FLP impossibility result. Real systems solve this by giving up on perfect knowledge and using arbitrary 'Timeouts'—if a node doesn't answer in 5 seconds, we 'assume' it is dead and move on.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is a 'Split Brain' scenario?
- The PACELC theorem extends CAP by stating: Even when there is NO partition (E), the system must choose between:
- Why is a CA (Consistent + Available) system generally considered impossible for distributed web applications?
- In CAP, 'Consistency' is equivalent to:
- In the CAP Theorem, what does the 'P' stand for?
- What causes a Network Partition?