Skip to content

An implementation of Raft. Used for distributed consensus (atomic broadcast), similar to Paxos, Apache Zookeeper's ZAB.

Notifications You must be signed in to change notification settings

isubasinghe/sraft-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRaft-RS

A simple implementation of Raft.

Warning at the moment it is very very incomplete, it does the absolute basics to understand theory only. It can only tolerate network partitions not process crashes. This is due to lack of persistance on the log. So yeah this is something hacked together obviously for my personal learning and you should NEVER USE THIS.

TODO

  • PreVote and CheckQuorum is needed badly to ensure liveness in the prescence of network faults.
  • Fix loss of messages when no leader is elected
  • Critical bug breaks linearizability (the entire protocol pretty much, need to fix this)

About

An implementation of Raft. Used for distributed consensus (atomic broadcast), similar to Paxos, Apache Zookeeper's ZAB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages