little-raft
The lightest distributed consensus library. Run your own replicated state machine! ❤️ (by andreev-io)
ruaft
Raft implemented in Rust (by ditsing)
little-raft | ruaft | |
---|---|---|
7 | 1 | |
404 | 14 | |
- | - | |
0.0 | 7.3 | |
over 1 year ago | 3 months ago | |
Rust | Rust | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
little-raft
Posts with mentions or reviews of little-raft.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-30.
-
Show /r/rust: Viewstamped Replication for Rust
My perspective is that VSR seems much more easier to grasp than Raft based on reading and contributing to Ilya Andreev's Little Raft. The selection of primary replica ("leader election" in Raft), for example, is dead-simple in VSR (you maintain a deterministic order of nodes and round-robin). Also, VSR seems to do a better job at decoupling the different scenarios at protocol level (backup fell behind, crashed, etc.) whereas in Raft the AppendEntries is a big hammer that does everything. I have very little experience on Paxos so can't really compare it to VSR.
- Show HN: I implemented Raft in Rust in under 1k lines
- Raft Consensus Protocol
- Side Project: Raft distributed consensus algorithm implementation & CLI visualization in Rust
- Show HN: I Made a Raft Implementation and CLI Visualization in Rust
- Side project: Raft distributed consensus algorithm implementation & CLI visualization in Rust
ruaft
Posts with mentions or reviews of ruaft.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-04.
-
Raft Consensus Protocol
In my implementation, in each AppendEntries request, the leader includes X commits starting from nextIndex. The follower either accepts all X commits, or reject all of them. If the follower accepted all commits, the leader moves nextIndex to (X + nextIndex when the request was sent). See code here (matchIndex = nextIndex + X - 1): https://github.com/ditsing/ruaft/blob/master/src/sync_log_en....
What are some alternatives?
When comparing little-raft and ruaft you can also consider the following projects:
riteraft - RiteRaft - A raft framework, for regular people
raft-grpc-example - Example code for how to get hashicorp/raft running with gRPC
raft - Golang implementation of the Raft consensus protocol
tigerbeetle - A distributed financial accounting database designed for mission critical safety and performance. [Moved to: https://github.com/tigerbeetledb/tigerbeetle]
tigerbeetle - The distributed financial transactions database designed for mission critical safety and performance.
uppercut - Small and simple actor model implementation.
politeia-rs - Decred Politeia in Rust
vsr-rs - Viewstamped Replication for Rust
openraft - rust raft with improvements