Openraft

Advanced Raft in 🦀 Rust using Tokio. Please ⭐ on github!

[![Crates.io](https://img.shields.io/crates/v/openraft.svg)](https://crates.io/crates/openraft) [![docs.rs](https://docs.rs/openraft/badge.svg)](https://docs.rs/openraft) [![guides](https://img.shields.io/badge/guide-%E2%86%97-brightgreen)](https://datafuselabs.github.io/openraft)
[![CI](https://github.com/datafuselabs/openraft/actions/workflows/ci.yaml/badge.svg)](https://github.com/datafuselabs/openraft/actions/workflows/ci.yaml) ![License](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue) ![Crates.io](https://img.shields.io/crates/d/openraft.svg) ![Crates.io](https://img.shields.io/crates/dv/openraft.svg)

🪵🪵🪵 Raft is not yet good enough. This project intends to improve raft as the next-generation consensus protocol for distributed data storage systems (SQL, NoSQL, KV, Streaming, Graph ... or maybe something more exotic).

Currently, openraft is the consensus engine of meta-service cluster in databend.

Status

Roadmap

Features

Who use it

Contributing

Check out the CONTRIBUTING.md guide for more details on getting started with contributing to this project.

License

Openraft is licensed under the terms of the MIT License or the Apache License 2.0, at your choosing.