
Distributed Consensus – How Shared Data Is Stored - sohkamyung
https://medium.com/@yonatanzunger/how-your-data-is-stored-or-the-laws-of-the-imaginary-greeks-54c569c17a49
======
k2xl
I remember reading the original Google plus post a few years back. Really
great explanation for Paxos and general consensus concepts.

If you are a visual learner, a really slick animation explaining Raft
distributed consensus protocol is here:
[http://thesecretlivesofdata.com/raft/](http://thesecretlivesofdata.com/raft/)

~~~
Xeoncross
This would have saved a lot of time for learning WebRTC, Blockchain, OAuth,
HTTP2, and so many other protocol designs that don't always clearly explain
race conditions or other edge cases like this animation does.

------
sohkamyung
Also related is this [1] by Leslie Lamport on the Paxos algorithm (mentioned
in the article)

[1] "Paxos Made Simple" [ [https://www.microsoft.com/en-
us/research/publication/paxos-m...](https://www.microsoft.com/en-
us/research/publication/paxos-made-simple/) ]

------
gtycomb
Enjoyed reading this article. The Greeks had this amazing knack to get into
subjects like this and then _write_ about it, isn't. I am thinking of
Plutarch's narration of the Ship of Theseus, a good starting point on issues
related to identity and relationships among objects, such as products,
software componentes, etc. etc., in a large enterprise.

------
imbusy111
Thanks for writing this up, I enjoyed reading it. I work with distributed
systems every day and collected most of this knowledge from practice, but it
was useful to see it all compiled in one place.

~~~
tylerpachal
Lately I have been really enjoying articles like this about distributed
programming, and have been doing some code experiments on my own to learn more
about it (using Akka right now). Do you have a roadmap for how someone could
get into a role like yours?

~~~
treebog
This is not quite what you asked for, but I've been going through this
distributed systems course and I highly recommend it:
[http://nil.csail.mit.edu/6.824/2017/schedule.html](http://nil.csail.mit.edu/6.824/2017/schedule.html)

It's mostly a collection of papers on different distributed protocols and
systems, with good lecture notes and FAQs for each one. It also has
programming assignments if you like hands-on practice.

------
bogomipz
What a great write up and novel approach to the subject. I really enjoyed
this. Thanks for sharing!

