Skip to content

taisho6339/rs-raft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rs-raft

This is an implementation of Raft consensus algorithm referring the respected paper.

How to run

  • Run process
RUST_LOG=info RAFT_RPC_PORT=8090 OTHER_NODES=localhost:8070,localhost:8080 cargo run
  • Run tests
RUST_LOG=info cargo test

Concept

  • This implementation is inspired from the Kubernetes reconcile loop.

    • raft_reconciler.rs has a loop which reconciles rpc and data periodically according to the Raft state.
  • Each Raft process connects with others via gRPC.

    • raft_server.rs is the server and raft_client.rs is the client implementation.
  • All the business logic of the consensus algorithm is placed in raft_state.rs.

Not implemented features

  • State snapshot
  • Cluster membership changes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages