/raft

Raft implementation

Primary LanguageGoMIT LicenseMIT

Raft implementation

What is the better way to understand Raft Consensus Algorithm than implementing it from scratch.

TODO

  • test ApplyCommittedEntries
  • test AddCommand to 100% coverage
  • testing follower AppendEntry w/ 100% coverage
  • testing follower RequestVoteFollower w/ 100% coverage
  • testing leader w/ 100% coverage
  • refactor states directly to RaftNode
  • Snapshots, using the Chandy-Lamport or another algorithm
  • Membership Changes (§6 of the Raft paper and §4 of the dissertation)
  • Log Compaction (§7 of the Raft paper and §5 of the dissertation)
  • Web application to control and interface with a Raft node (using gRPC)
  • compare to hashicorp & etcd implementation
  • compare my implementationt to this blog post: https://eli.thegreenplace.net/2020/implementing-raft-part-0-introduction/

raft implementations in production

Sources