Expand description
Raft is a distributed consensus algorithm widely used nowadays to build distributed applications like etcd. However, while it is even understandable than notorious Paxos algorithm it is still difficult to implement correct and efficient implementation.
This library is a Raft implementation based on Tonic, a gRPC library based on Tokio. By exploiting gRPC features like streaming, the inter-node log replication and snapshot copying is very efficient.
Modules
Available message types for interaction with the cluster.
gateway
Gateway to interact with the cluster.
simple
Simplified RaftApp trait.
The snapshot abstraction and some basic implementations.
The abstraction for the backing storage and some implementations.
Structs
Enums
Error type for ConfigBuilder
Plan to make a new snapshot.
Traits
The abstraction for user-defined application runs on the RaftCore.
Functions
Make a RaftService
.
Type Definitions
Log index.
A Raft implementation of tower::Service
.