mephisto

Crates.iomephisto
lib.rsmephisto
version0.2.0
sourcesrc
created_at2023-10-18 03:01:21.977429
updated_at2023-11-22 13:53:42.782431
descriptionThe rust language implementation of Raft services.
homepage
repositoryhttps://github.com/cratesland/mephisto/
max_upload_size
id1006298
size3,920
tison (tisonkun)

documentation

README

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 as The etcd Authors.
  • The authors of tikv/raft-rs are noted as TiKV 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 with tracing.
  • Replace datadriven with goldenfiles.
  • Replace rust-protobuf and protobuf-build with prost.
  • Merge raft-proto into mephisto crate.
  • Stub implementations of Raft stores.

Acknowledgement

This project is derived from tikv/raft-rs. raft-rs is, recursively, derived from etcd-io/raft.

Commit count: 10

cargo fmt