Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

rust raft with improvements

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
NotificationsYou must be signed in to change notification settings

databendlabs/openraft

AdvancedRaft in 🦀 Rust usingTokio. Please ⭐ ongithub!

Crates.iodocs.rsguidesDiscord Chat
CICoverage StatusLicenseCrates.ioCrates.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 indatabend.

Whatever your style, we're here to support you. 🚀 Let's make something awesome together!

Status

  • The features are almost complete for building an application.
  • Performance: Supports 70,000 writes/sec for single writer, and 1,000,000 writes/sec for 256 writers. See:Performance
  • Unit test coverage stands at 92%.
  • The chaos test has not yet been completed, and further testing is needed to ensure the application's robustness and reliability.

API status

  • Openraft API is not stable yet. Before1.0.0, an upgrade may contain incompatible changes.Check ourchange-log. A commit message starts with a keyword to indicate the modification type of the commit:

    • DataChange: on-disk data types changes, which may require manual upgrade.
    • Change: if it introduces incompatible changes.
    • Feature: if it introduces compatible non-breaking new features.
    • Fix: if it just fixes a bug.

Versions

Roadmap

Performance

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

clientsput/sns/op
2561,014,000985
64730,0001,369
170,00014,273

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

Features

  • Async and Event-Driven: Operates based on Raft events without reliance on periodic ticks, optimizing message batching for high throughput.
  • Extensible Storage and Networking: Customizable viaRaftLogStorage,RaftStateMachine andRaftNetwork traits, allowing flexibility in choosing storage and network solutions.
  • Unified Raft API: Offers a singleRaft type for creating and interacting with Raft tasks, with a straightforward API.
  • Cluster Formation: Provides strategies for initial cluster setup as detailed in thecluster formation guide.
  • Built-In Tracing Instrumentation: The codebase integratestracing for logging and distributed tracing, with the option toset verbosity levels at compile time.

Functionality:

Who use it

Contributing

Check out theCONTRIBUTING.mdguide for more details on getting started with contributing to this project.

Contributors

Made withcontributors-img.

License

Openraft is licensed under the terms of theMIT Licenseor theApache License 2.0, at your choosing.


[8]ページ先頭

©2009-2025 Movatter.jp