Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haraldng/omnipaxos

OmniPaxos is a distributed log implemented as a Rust library.
https://github.com/haraldng/omnipaxos

consensus distributed-systems fault-tolerance paxos raft replication rust

Last synced: 12 days ago
JSON representation

OmniPaxos is a distributed log implemented as a Rust library.

Awesome Lists containing this project

README

        

OmniPaxos
============

![ci](https://github.com/haraldng/omnipaxos/actions/workflows/ci.yml/badge.svg)
[![Cargo](https://img.shields.io/badge/crates.io-v0.2.2-orange)](https://crates.io/crates/omnipaxos)
[![Documentation](https://docs.rs/omnipaxos/badge.svg)](https://docs.rs/omnipaxos)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/haraldng/omnipaxos)

![overview](overview.png)

OmniPaxos is an in-development replicated log library implemented in Rust. OmniPaxos aims to hide the complexities of consensus to provide users a replicated log that is as simple to use as a local log.

Similar to Raft, OmniPaxos can be used to build strongly consistent services such as replicated state machines. Additionally, the leader election of OmniPaxos offers better resilience to partial connectivity and more flexible and efficient reconfiguration compared to Raft.

An OmniPaxos node is implemented as a plain Rust `struct`. This allows it to be used with any desired storage, network, and runtime implementations.

For more detailed explanations and tutorials showcasing our features, check out https://omnipaxos.com.

To learn more about OmniPaxos, check out our [EuroSys'23 paper](https://dl.acm.org/doi/pdf/10.1145/3552326.3587441).

For a tutorial on OmniPaxos, checkout our blog post and video of how to build a distributed RocksDB [here](https://omnipaxos.com/blog/building-distributed-rocksdb-with-omnipaxos-in-8-minutes/).

## License
This project is licensed under the [Apache-2.0 license](LICENSE).

## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in OmniPaxos by you shall be licensed as Apache-2.0, without any additional terms or conditions.