Akiradeveloper Lol Save

A Multi-Raft implementation in Rust language. lol = "Lane on Log"

Project README

lolraft

Crates.io Documentation CI MIT licensed

A Multi-Raft implementation in Rust language.

146726060-63b12378-ecb7-49f9-8025-a65dbd37e9b2

Features

スクリーンショット 2024-03-11 7 54 06

  • Implements all core Raft features for production use.
  • Supports Multi-Raft. Mutliple Raft processes can coexist in a single OS process so they can share resources efficiently.
  • Based on Tonic and efficient gRPC streaming is exploited in log replication and snapshot.
  • Phi Accrual Failure Detector is used for leader failure detection. The adaptive algorithm allows you to not choose a fixed timeout number in prior to deployment and makes it possible to deploy Raft node in even geo-distributed environment.

Architecture

To implement Multi-Raft, the architecture is split into two spaces. One in the lower side is called "Pure Raft" layer which is totally unaware of gRPC and Multi-Raft. Therefore, it is called pure. The other side translates gRPC requests into pure requests and vice versa.

スクリーンショット 2024-03-11 8 00 03

Development

  • docker compose build to build test application.
  • TERM1: ./log to start log watcher.
  • TERM2: ./dev to start the dev container.
  • TERM2: cargo test.

Author

Akira Hayakawa
EMail: [email protected]

Open Source Agenda is not affiliated with "Akiradeveloper Lol" Project. README Source: akiradeveloper/lolraft
Stars
159
Open Issues
3
Last Commit
1 month ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating