3 ms·
It always struck me as odd how papers like this make it all make sense, and then you go and run one of these things, and realize that an available system doesn'
by peterwwillis 6y ago
It always struck me as odd how papers like this make it all make sense, and then you go and run one of these things, and realize that an available system doesn't mean a system that runs well. It just means a system which is capable of running well.
The bugs in all this complex software are out of scope of the conversation. It's a theoretical system, after all. The fact that the more complex and distributed a consensus-based system is, the more likely failure of the system is, isn't mentioned. Presumably either because it's implied that you should only ever use this when you have to, or because it's actually elementary.
The most stable highly available consensus-based systems are dependent on highly available hardware and networks. As soon as either become flaky, bugs start coming out of the woodwork like a log on a roaring fire (and this explains why Jepsen is so effective at finding bugs). Othe other hand, HA systems that don't depend on consensus can be smaller, and their software is typically easier to reason about, leading to fewer classes of bugs as well as a potentially smaller codebase which leads to less bugs.
- teddyh 6y ago> The most stable highly available consensus-based systems are dependent on highly available hardware and networks. As soon as either become flaky, bugs start coming out “The network is reliable” is fallacy #1 of the “Fallacies of distributed computing”: https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...
- peterwwillis 6y ago#9 should be "distributed systems are superior to centralized systems", but the people who made the list must have found it too obvious to include.