3 ms·
> I literally spent part of an evening with a beer Just one? :) Consensus algorithms are _fascinating_! And +1 for https://blog.acolyer.org/ https://blog.acol
by Xorlev 10y ago
> I literally spent part of an evening with a beer
Just one? :)
Consensus algorithms are _fascinating_! And +1 for https://blog.acolyer.org/ https://blog.acolyer.org/ , I'll often read his blog over lunch.
Another great paper is https://research.google.com/archive/paxos_made_live.html https://research.google.com/archive/paxos_made_live.html which talks about what it's like to realistically run Paxos. There's a ton of corner cases, engineering realities, and optimizations to be done to make Paxos work well in practice.
Another good resource is the Raft GitHub page[1] which links to the paper, has an interactive visualization, and a plethora of talks by various people.
Raft is the backbone of opensource, I'd be curious to hear from any Googlers in the know whether there's deficiencies in Raft that lead to continued use of Paxos, or if it's experience (and already battle-tested code) with Paxos that leads them to continue deploying Paxos-backed systems.
[1] https://raft.github.io/ https://raft.github.io/
- SEJeff 10y agoGreat comments and links! Pretty sure Google wrote chubby before raft existed. Chubby paper: 2006 http://dl.acm.org/citation.cfm?id=1298487 http://dl.acm.org/citation.cfm?id=1298487 Raft paper: 2014 http://dl.acm.org/citation.cfm?id=2643666 http://dl.acm.org/citation.cfm?id=2643666 If you've got something battletested, there isn't a lot of value to rip it all up if it works within the given business requirements. Also they figured out how to implement Multi-Paxos, which is known for being difficult.