5 ms·
The "proof" is kind of weird. We assume there exists a system that has all three of CAP, but how can we assume that system has the layout in the post with two s
by magnio 2y ago
The "proof" is kind of weird. We assume there exists a system that has all three of CAP, but how can we assume that system has the layout in the post with two servers and one client?
- sushibowl 2y agoThe 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.
- evertedsphere 2y agowhat if the graph remains connected when you remove that link, so the two nodes can communicate through other nodes?
- dmurray 2y agoPartitioning 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.
- dmurray 2y agoThe 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".
- jeremyjh 2y agoThe theory has nothing to do with what the client knows. It’s only concerned with the server’s responses.
- lfmunoz4 2y agoI guess by respond, it must respond with a value, it cannot response by saying "i don't know"