4 ms·
The description suggests it was fault-tolerant, but then I read about all writes and queries going through a single leader, which is an obvious SPOF. Even if te
by pkolaczk 11y ago
The description suggests it was fault-tolerant, but then I read about all writes and queries going through a single leader, which is an obvious SPOF. Even if temporary, SPOF is still a SPOF.
- allengeorge 11y agoYou can have a leader and still be fault tolerant... At any rate, if the leader dies another member of the cluster is elected and operations proceed. Yes, it's not "always available", but that's the trade-off you make when you impose strong consistency.
- pkolaczk 11y ago"Not always available" means "not fault tolerant" to me. You can have strong consistency with no leader and no temporary SPOF with Egalitarian Paxos. And even with standard Paxos/Raft it is possible to architect the system to not have a single leader, but multiple leaders responsible for different partitions of data.
- allengeorge 11y agoEven if you had multiple leaders responsible for different partitions you'd still be (temporarily) unavailable if the leader died, so...while you have improved the system's availability characteristics you haven't changed the underlying fault model. Also, keep in mind that not everything has to go through the leader. If your application is OK with stale reads you can read committed data from any follower, allowing you to be available (for some definition of available) while the master is down. Also, IIRC most practical strongly-consistent systems aren't egalitarian (I'd love to hear otherwise) and instead, rely on a leader.
- otoolep 11y agoRelative to a single SQLite database, rqlite is pretty fault-tolerant.