Hacker News new | ask | show | jobs
by quibit 3971 days ago
What exactly is a consensus algorithm and how do you prove linearizability?
2 comments

Kyle Kingsbury has a good look at linearizability and other forms of consistency: https://aphyr.com/posts/313-strong-consistency-models
Kyle Kingsbury is the man, and his blog is a must read to anyone interested/curious by distributed systems.
That was a great read. Thanks for a new blog to put on my RSS feed
the call me maybe series there is an absolute must-read for any post-web 2.0 developer.
distributed consensus is about having a group of processes agree on a single data value. For example, imagine you have a cluster of server. Each node has a replicated database.

(1) You want all your nodes to have the exact same replica of the database i.e consistency across your cluster.

You would need to reach consensus before any node actually adds anything to its local database to make sure that property (1) is fulfilled.

== Linearizability is just a consistency model i.e a variant of property 1 with stronger/weaker constraints.

Oh wow, that's actually really powerful stuff! Thanks for the explanation.