2 unstable releases
0.11.0 | Oct 19, 2024 |
---|---|
0.0.0 | Oct 1, 2024 |
#499 in Algorithms
83 downloads per month
130KB
3.5K
SLoC
Sorock
A Multi-Raft implementation in Rust language.
Features
- Supports Multi-Raft. Mutliple Raft processes can coexist in a single OS process so they can share resources efficiently.
- Tested with 1000 shards per node.
- Heartbeats in shards are batched to reduce the network overhead.
- Based on Tonic and efficient gRPC streaming is exploited in log replication and snapshot.
- Efficient default backend implementation using redb.
- Writes in shards are batched in one transaction.
- Phi Accrual Failure Detector is used for leader failure detection.
- The adaptive algorithm allows you to not choose a fixed timeout number before deployment and to deploy Raft node in even geo-distributed environment where the latency between nodes isn't identical.
Related Projects
- sorock-monitor: Monitoring tool to watch the log state in a cluster. Implementing using ratatui.
- phi-detector: Implementation of Phi Accrual Failure Detector in Rust.
Author
Name: Akira Hayakawa
Email: ruby.wktk@gmail.com
Dependencies
~11–21MB
~288K SLoC