Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 1.81 KB

README.md

File metadata and controls

34 lines (24 loc) · 1.81 KB

Sorock

Crates.io API doc CI codecov MIT licensed

A Multi-Raft implementation in Rust language.

Documentation (mdbook)

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