You should probably read the excellent white paper explaining Raft: the new clustering distributed machines consensus algorithm recently invented in Stanford to add a new one (UDD ;-)
Except a few things, their article is very clear and informative. But what I really like more than everything else is their approach. Indeed, they elaborate their algorithm with understandability as a core driver. The idea was to make possible for a large audience, to understand their algorithm comfortably.
Always interested by the challenge of how to deliver durable solutions and even if we are talking about an algorithm here (and not implementation), this is the first time I'm reading someone explaining that understandability is not a nice to have ... but a must have.
Update (July, 26th 2013):
- About the ‘why’: https://ramcloud.stanford.edu/wiki/download/attachments/3703006/SEDCL_forum_2013_raft.pdf
- About the ‘how’: http://raftuserstudy.s3-website-us-west-1.amazonaws.com/study/raft.pdf