Using Raft

We are choosing Raft to solve our consensus problems for a few reasons. The first is it uses leader election to solve the consensus issue. While we could solve consensus with the other solutions (a distributed log, a distributed hash table, etc), leader election is often the easiest to understand and also implement.

The second reason is that Etcd and Consul are both written in Go, and have open-sourced their Raft implementation libraries. Some folks have written about how to use Etcd's implementation, so we will use Hashicorp's (the parent company of Consul) implementation to be a new and fresh! But other than that, our implementation choice is arbitrary.

 

This page is a preview of Reliable Webservers with Go

Start a new discussion. All notification go to the author.