Overview of Sorock Multi-Raft implementation
masterSorock is a Multi-Raft implementation written in Rust. It is designed to allow multiple Raft processes to coexist within a single OS process, enabling efficient resource sharing.
Key technical characteristics include:
- Multi-Raft Support: Capable of handling high shard counts (tested up to 1000 shards per node).
- Network Efficiency: Heartbeats within shards are batched to minimize network overhead.
- gRPC Integration: Built on
Tonic, utilizing efficient gRPC streaming for log replication and snapshots. - Storage Backend: Uses
redbfor efficient backend implementation, where writes within shards are batched into a single transaction. - Failure Detection: Employs a Phi Accrual Failure Detector, which provides an adaptive algorithm for leader failure detection. This allows for deployment in geo-distributed environments with varying latencies without requiring fixed timeout configurations.