The Raft implementation inside the Etcd codebase is probably one of the core (no pun intended) implementations available.
The fact that it is written in Go gives developers the ability to have a rock solid consensus algorithm in place across multiple processors.
Not since Paxos, has such a clean algorithm been written that solves this mission critical (difficult) problem in the cloud world we live in today.
For those not familiar with Paxos, here is a reference:
http://en.wikipedia.org/wiki/Paxos_%28computer_science%29
Raft is a much simpler, easier to use and maintain algorithm.
And with the Etcd implementation it bootstraps one to have a clean well maintained version.
For those interested in Raft they can check out the website with more details...
https://raftconsensus.github.io/
Here is a PDF version of the paper on Raft:
http://ramcloud.stanford.edu/raft.pdf
And here is a PDF version of Diego Ongaro's PhD Thesis:
https://ramcloud.stanford.edu/~ongaro/thesis.pdf
Thanks,
Michael Angerman
Corvallis, Oregon
The Raft implementation inside the Etcd codebase is probably one of the core (no pun intended) implementations available.
The fact that it is written in Go gives developers the ability to have a rock solid consensus algorithm in place across multiple processors.
Not since Paxos, has such a clean algorithm been written that solves this mission critical (difficult) problem in the cloud world we live in today.
For those not familiar with Paxos, here is a reference:
http://en.wikipedia.org/wiki/Paxos_%28computer_science%29
Raft is a much simpler, easier to use and maintain algorithm.
And with the Etcd implementation it bootstraps one to have a clean well maintained version.
For those interested in Raft they can check out the website with more details...
https://raftconsensus.github.io/
Here is a PDF version of the paper on Raft:
http://ramcloud.stanford.edu/raft.pdf
And here is a PDF version of Diego Ongaro's PhD Thesis:
https://ramcloud.stanford.edu/~ongaro/thesis.pdf
Thanks,
Michael Angerman
Corvallis, Oregon