Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akiradeveloper/lol
A Multi-Raft implementation in Rust language. lol = "Lane on Log"
https://github.com/akiradeveloper/lol
consensus-algorithm distributed-log raft rust
Last synced: 5 days ago
JSON representation
A Multi-Raft implementation in Rust language. lol = "Lane on Log"
- Host: GitHub
- URL: https://github.com/akiradeveloper/lol
- Owner: akiradeveloper
- License: mit
- Created: 2020-09-12T21:58:13.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T03:09:07.000Z (4 months ago)
- Last Synced: 2024-05-23T06:43:58.663Z (4 months ago)
- Topics: consensus-algorithm, distributed-log, raft, rust
- Language: Rust
- Homepage:
- Size: 2.99 MB
- Stars: 172
- Watchers: 5
- Forks: 17
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# lol
[![Crates.io](https://img.shields.io/crates/v/lol.svg)](https://crates.io/crates/lol)
[![API doc](https://docs.rs/lol/badge.svg)](https://docs.rs/lol)
![CI](https://github.com/akiradeveloper/lol/actions/workflows/ci.yml/badge.svg)
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/akiradeveloper/lol/blob/master/LICENSE)A Multi-Raft implementation in Rust language.
[Documentation](https://akiradeveloper.github.io/lol/)
![146726060-63b12378-ecb7-49f9-8025-a65dbd37e9b2](https://github.com/akiradeveloper/lol/assets/785824/12a016fe-35a0-4d12-8ffa-955ef61b25b9)
## Features
![](doc/src/images/multi-raft.png)
- Implements all core [Raft](https://raft.github.io/) features for production use.
- Supports Multi-Raft. Mutliple Raft processes can coexist in a single OS process so they can share resources efficiently.
- Tested with 1000 shards.
- Batched heartbeat optimization is implemented.
- Based on [Tonic](https://github.com/hyperium/tonic) and efficient gRPC streaming is exploited in log replication and snapshot.
- [Phi Accrual Failure Detector](https://github.com/akiradeveloper/phi-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.## Author
Akira Hayakawa
EMail: [email protected]