Skip to content
databendlabsPublic

About

rust raft with improvements

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2.1k stars

Watchers

24 watching

Forks

Latest commit

 

History

3,217 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OpenRaft

Advanced Raft in 🦀 Rust on any async runtime. Please ⭐ on GitHub!

Crates.io docs.rs DeepWiki guides Discord Chat
CI Coverage Status License Crates.io Crates.io

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

  • Features: OpenRaft implements nearly all features needed to build applications with Raft.
  • Performance: OpenRaft supports 33,000 writes/sec with a single writer and 5,615,000 writes/sec with batch writes. See the benchmarks.
  • Coverage: Unit test coverage is 92%.
  • Chaos testing: A deterministic simulation fuzzer runs in every CI build. The Jepsen suite runs 8 nemesis scenarios on every push to main: network partition, process pause, process kill, slow packets, flaky packets, clock skew, membership churn, and all seven combined.

API status

OpenRaft's API continues to evolve. Upgrades before 1.0.0 may include incompatible changes. See the changelog. Commit messages start with a keyword indicating the type of change:

  • data-change: changes on-disk data types and may require a manual upgrade.
  • change: introduces incompatible changes.
  • feat: adds compatible, non-breaking features.
  • fix: contains only bug fixes.

Versions

Branch Status Release Upgrade guide
main / release-0.10 Alpha; active development 0.10.0-alpha.37 0.9 → 0.10
release-0.9 Bug fixes only 0.9.25 (changelog) 0.8 → 0.9
Unsupported releases

release-0.8, release-0.7, and release-0.6 are closed; their upgrade guides remain available.

Performance

This benchmark measures the OpenRaft framework with minimal storage and networking; see benchmark details.

Clients Single writes (put/s) Batch writes (4 entries/batch, put/s)
4096 3,548,000 5,615,000
1024 3,006,000 —
256 1,808,000 —
64 912,000 —
1 33,000 —

Features

See the full feature list.

Who uses it

  • Databend - Cloud analytics.
  • Walrus - Distributed message streaming.
  • Hiqlite - Embedded SQLite with caching.

See all users.

Contributing

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

Contributors

Thanks to everyone who contributes to OpenRaft:

@aadil-srivastava01 @ariesdevil @AustenSchunk @bohutang @byronwasti @caicancai @CentRa-Linux @chahat-101 @claude @cliff0412 @ClSlaid @danthegoodman1 @devillove084 @Diggsey @diptanu @DRMacIver @drmingdrmer @eliasyaoyc @emmanuel-ferdman @emon100 @ethe @evanj @gardenias @George-Miao @getong @glennswest @GrapeBaBa @gtema @guojidan @hadronzoo @HaHa421 @homa31 @iamazy @iMashtak @jamals86 @jdockerty @jgrund @jkosh44 @josedab @justinlatimer @kper @leiysky @Licenser @lichuang @linsinn @lsytj0413 @Lymah123 @maackle @maciejkow @manuelarte @manuelgdlvh @MarinPostma @markus-behrens @marvin-j97 @mengxuroblox @mfelsche @Miaxos @monoid @MrCroxx @nasuiyile @Nicholas-Ball @nremond @othmanekn @P47Phoenix @pchrysostomou @PeterKnego @pfwang80s @Phoenix500526 @pinylin @ppamorim @PsiACE @Qian-Cheng-nju @rvielma @sainad2222 @SAY-5 @schreter @SebastianThiebaud @shuoli84 @socutes @sollhui @SteveLauC @sunli829 @sunsided @svix-jbrown @svix-jplatte @tangwz @thedodd @tisonkun @tobodner @trungda @tvsfx @undecidedapollo @Veeupup @VerifiedOrganic @vigith @wvwwvwwv @xu-cheng @Xuanwo @YangKian @ygf11 @yichenshen @youichi-uda @zach-schoenberger @ZhangZihao270 @zhixinwen

License

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

OpenRaft originated from async-raft.

About

rust raft with improvements

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2.1k stars

Watchers

24 watching

Forks

Releases

Packages

Used by

Contributors

Languages