# databendlabs/openraft

rust raft with improvements

Repository: https://github.com/databendlabs/openraft
Canonical: https://ross.abutalabs.com/products/openraft
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: consensus, distributed-systems, raft
Last push: 2026-08-26T17:40:49+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 84, longevity 100
- inputs: {"age_days": 1937, "days_push": 7, "days_rel": 28, "gap_med": 63.5, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2035, forks 236 (observed 2026-08-28T04:06:07.838302+00:00)

## What it is
OpenRaft is an advanced implementation of the Raft consensus protocol in Rust, designed to run on any async runtime. It serves as the consensus engine for distributed data storage systems and powers the meta-service cluster of Databend.

## Use cases
- build a replicated key-value store with strong consistency
- implement leader election for a distributed database cluster
- add fault-tolerant consensus to a distributed SQL or NoSQL system
- replicate state machine logs across nodes in Rust
- build a highly available metadata service
- learn and experiment with Raft consensus in Rust

## When to choose
- you need a Raft consensus library in Rust with improvements over the standard protocol
- you want runtime-agnostic async Raft that works with tokio, async-std, or others
- you are building distributed storage systems like SQL, NoSQL, KV, streaming, or graph databases
- you want a well-tested, actively maintained consensus engine with extensive documentation

## When to avoid
- you need a full out-of-the-box distributed database rather than a consensus library
- your project is not in Rust
- you need other consensus protocols like Paxos or Zab
- you want a simple, unmodified textbook Raft implementation without extensions

## Facets
- artifact type: library
- maturity: active
- function: concurrency, developer-tools
- domain: microservices, databases
- platform: rust, cross-platform
- tags: raft, consensus, async-runtime, replication, distributed-storage, algorithms

## Member repositories
- databendlabs/openraft (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:07.838302+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:59:21.339423+00:00, confidence not recorded.
  - readme: https://github.com/databendlabs/openraft (fetched 2026-08-28T04:06:07.838302+00:00, sha e4a49a2dac20)
  - registry_crates: https://crates.io/api/v1/crates/openraft (fetched 2026-08-29T10:38:54.214565+00:00, sha b48dbdce3ef4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
