2 unstable releases
0.2.0 | Nov 22, 2023 |
---|---|
0.1.0 | Oct 18, 2023 |
#2061 in Algorithms
415KB
8K
SLoC
Mephisto
Mephisto implements the Raft protocol where an extended version of the Raft paper is available. The paper introduces Raft and states its motivations in following words:
Raft is a consensus algorithm for managing a replicated log. It produces a result equivalent to (multi-)Paxos, and it is as efficient as Paxos, but its structure is different from Paxos; this makes Raft more understandable than Paxos and also provides a better foundation for building practical systems.
License
This project is released under Apache License, Version 2.0.
Original sources are distributed under the same license with different copyright owner:
- The authors of
etcd-io/raft
are noted asThe etcd Authors
. - The authors of
tikv/raft-rs
are noted asTiKV Project Authors
.
To simplify conveying licenses, all the commits after the bootstrap one are made independently unless explicit noted.
The bootstrap commit includes the following modifications:
- Replace
slog
withtracing
. - Replace
datadriven
withgoldenfiles
. - Replace
rust-protobuf
andprotobuf-build
withprost
. - Merge
raft-proto
intomephisto
crate. - Stub implementations of Raft stores.
Acknowledgement
This project is derived from tikv/raft-rs
. raft-rs
is, recursively, derived from etcd-io/raft
.
Dependencies
~1.3–8MB
~146K SLoC