22 releases
0.4.2 | Jul 11, 2022 |
---|---|
0.3.2 | Jan 21, 2022 |
0.3.1 | Dec 6, 2021 |
0.2.1 | Sep 9, 2020 |
0.1.0 | Oct 30, 2019 |
#600 in Algorithms
61 downloads per month
Used in 2 crates
225KB
5.5K
SLoC
Overlord
Overlord consensus protocol.
Introduction
Overlord is a new consensus protocol that decouple the consensus process from the execution process.
Detailed introduction: 中文|English
Usage
From cargo
[dependencies]
overlord = "0.4"
Overlord takes turns to become the leader by default. If you want to choose a leader randomly, add the random_leader
feature to the dependency as below.
[dependencies]
overlord = { version = "0.4", features = ["random_leader"] }
Example
We simulated a salon scene to show an example of using overlord.
A distributed system for reaching a consensus on the content of a speech is realized by simulating the dialogue between speakers through the communication between threads.
Run the example by cargo run --example salon
, and the system will output the agreed speech content in turn. Click here to see the detail.
It will check whether different speakers agree on the content of the speech.
Projects using Overlord
Dependencies
~5–14MB
~134K SLoC