Hacker News new | ask | show | jobs
by sushibowl 619 days ago
The proof is not really formal, but you could view the shown system as a minimal subset of an arbitrarily shaped large system.

For the system to be distributed it must have at least two nodes, and to be available all nodes must respond to requests. So however the rest of the system is shaped, the proof still holds.

3 comments

The minimal subset is too small. It should have a second client, to avoid solutions like "the client stores a copy of all the messages it sent, so it can detect the stale value".
The theory has nothing to do with what the client knows. It’s only concerned with the server’s responses.
I guess by respond, it must respond with a value, it cannot response by saying "i don't know"
what if the graph remains connected when you remove that link, so the two nodes can communicate through other nodes?
Partitioning is defined so that all, or at least arbitrarily many, of the communication links may be down.

In practice you're absolutely right and one approach to distributed systems is to make partition tolerance less important by having lots of redundant links instead.