Raft: Understandable Distributed Consensus (2014)
thesecretlivesofdata.com
Raft: Understandable Distributed Consensus (2014)
1–10 of 91 posts
Re: Raft: Understandable Distributed Consensus (2014)
#2Re: Raft: Understandable Distributed Consensus (2014)
#3https://web.stanford.edu/~ouster/cgi-bin/papers/OngaroPhD.pd...
I think this was core to Raft’s success, and I strive to create systems like this with understandability as a first goal.
Re: Raft: Understandable Distributed Consensus (2014)
#4Re: Raft: Understandable Distributed Consensus (2014)
#5This may be a great article, but I'll never know because it's frustrating to try and read.
Re: Raft: Understandable Distributed Consensus (2014)
#6Over the years I've been trying to find better ways to do this kind of visualization but for other CS topics. Moving to video is the most realistic option but using something like After Effects takes A LOT of time and energy for long-form visualizations. It also doesn't produce a readable output file format that could be shared, diff'd, & tweaked.
I spent some time on a project recently to build out an SVG-based video generation tool that can use a sidecar file for defining animations. It's still a work in progress but hopefully I can get it to a place where making this style of visualizations isn't so time intensive.
Re: Raft: Understandable Distributed Consensus (2014)
#7While understandable, implementing it is however far from easy.
Re: Raft: Understandable Distributed Consensus (2014)
#8While understandable, implementing it is however far from easy.
Right, but Paxos is double hard in comparison. I’ve read both papers multiple times, tried to implement and failed, and I still don’t think I understand Paxos.
Re: Raft: Understandable Distributed Consensus (2014)
#9While understandable, implementing it is however far from easy.
Re: Raft: Understandable Distributed Consensus (2014)
#10While understandable, implementing it is however far from easy.
Right, but Paxos is double hard in comparison. I’ve read both papers multiple times, tried to implement and failed, and I still don’t think I understand Paxos.
I think Leslie Lamport asserted that Paxos is minimal, and that "all other consensus algorithms are just Paxos with more steps". I'm inclined to believe him.
I've implemented Paxos but I can't get through "Raft for dummies" style blog posts.
Regarding Raft [1]:
> The consensus problem is divided into three sub-problems: Leader election, Replication and Safety.
What is leader election? It's a distributed system coming to consensus on a fact (i.e. who the leader is.) Then once you have the leader, you do additional steps. The entirety of Paxos is a distributed system coming to consensus on a fact.When I read these posts, i see things like "timeout", "heartbeat", and I think: timeout according to whom? I read "once the leader has been elected", um, hangon, according to whom? Has node 1 finally agreed on the leader, just while node 3 has given up and started another election? I don't doubt that Raft is correct, but the writing about it seems simple by glossing over details.
Paxos, on the other hand, seems timeless. (And the writing about it doesn't trigger my "distributed system fallacies" reaction)