Skip to content
/ raft Public

A java implementation of the raft distributed consensus algorithm

License

Notifications You must be signed in to change notification settings

tetrapods/raft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

raft

A java implementation of the [raft distributed consensus algorithm] (https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf)

We've used this in production for several years, after a decent amount of systems testing but our unit testing is poor.

You have to provide your own RPC implementation (A class that implements io.tetrapod.raft.RaftRPC)

It supports log compaction and we have some support for non-blocking snapshotting using copy-on-writes, but this is not tested or complete.

Online cluster configuration changes are not yet supported

We target JDK 8+ and have no dependencies other than logback

Included StorageStateMachine implementation has key/value storage, atomic counters, and distributed locks.

We'd LOVE some more eyeballs on this project, help with unit testing, and documentation.

About

A java implementation of the raft distributed consensus algorithm

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages