databendlabs / openraft

rust raft with improvements
Apache License 2.0
1.37k stars 154 forks source link
consensus distributed-systems raft

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://docs.rs/openraft/latest/openraft/docs/index.html) [![Discord Chat](https://img.shields.io/discord/1015845055434588200?logo=discord)](https://discord.gg/ZKw3WG7FQ9)
[![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)

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.

Whatever your style, we're here to support you. πŸš€ Let's make something awesome together!

Status

API status

Versions

Roadmap

Performance

The benchmark is focused on the Openraft framework itself and is run on a minimized store and network. This is NOT a real world application benchmark!!!

clients put/s ns/op
256 1,014,000 985
64 730,000 1,369
1 70,000 14,273

For benchmark detail, go to the ./cluster_benchmark folder.

Features

Functionality:

Who use it

Contributing

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

Contributors

Made with contributors-img.

License

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