Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. dragonboat

dragonboat

Apache-2.0Gov3.3.8

A feature-complete, high-performance multi-group Raft consensus library in Go for building fault-tolerant distributed systems.

GitHubGitHub
5.3k stars573 forks0 contributors

What is dragonboat?

Dragonboat is a high-performance multi-group Raft consensus library implemented in pure Go. It provides fault tolerance and strong data consistency for distributed systems by handling all technical complexities of Raft, allowing applications to continue operating as long as a majority of servers are available. The library supports thousands of concurrent Raft groups and is designed for scalability and ease of use.

Target Audience

Go developers building distributed systems that require fault tolerance and strong consistency, such as databases, key-value stores, or coordination services. It is also suitable for engineers needing a production-ready Raft implementation with high throughput and low latency.

Value Proposition

Developers choose Dragonboat because it is the fastest open-source multi-group Raft implementation, sustaining millions of writes per second with low latency. It offers comprehensive Raft features, extensive testing with Jepsen's Knossos, and flexible integration options for storage and transport, abstracting Raft complexities to focus on application logic.

Overview

A feature complete and high performance multi-group Raft library in Go.

Use Cases

Best For

  • Building scalable distributed databases or key-value stores requiring strong consistency across multiple shards.
  • Implementing high-throughput coordination services like distributed locks or configuration management systems.
  • Developing fault-tolerant applications that must operate reliably in geographically distributed environments with high latency.
  • Creating systems with thousands of concurrent Raft groups where performance and resource efficiency are critical.
  • Integrating custom storage engines (e.g., RocksDB, Pebble) or transport layers with TLS mutual authentication for secure deployments.
  • Repairing Raft shards that have permanently lost quorum using built-in tools in production scenarios.

Not Ideal For

  • Projects not written in Go that require consensus, as Dragonboat is a pure Go library with no cross-language bindings.
  • Systems where eventual consistency models (e.g., CRDTs) are sufficient, as Dragonboat's strong consistency adds unnecessary overhead.
  • Small-scale prototypes or single-node deployments where fault tolerance isn't critical, due to the operational complexity of running multiple Raft nodes.
  • Teams unfamiliar with distributed systems concepts, as effective use requires understanding Raft semantics despite the abstraction.

Pros & Cons

Pros

Blistering Performance

Sustains millions of writes per second with low latency, as benchmarks show 9 million writes/sec for 16-byte payloads and sub-5ms P99 latency under load.

Scalable Multi-Group Design

Supports thousands of concurrent Raft groups efficiently, enabling horizontal scaling for sharded systems like distributed databases.

Production-Ready Reliability

Extensively tested with Jepsen's Knossos for linearizability and includes Prometheus metrics and repair tools for fault recovery in real deployments.

Flexible Integration Options

Allows custom storage engines (e.g., Pebble, RocksDB) and transport layers with TLS mutual authentication, adapting to diverse I/O technologies.

Cons

Upcoming Breaking Changes

The v4.0 release will introduce API changes, requiring code adjustments for upgrades, and the master branch is unstable for production use.

Go Runtime Limitations

Performance can be impacted by Go's garbage collection, though pauses are sub-millisecond, and it's limited to Go ecosystems without native cross-language support.

Steeper Initial Learning Curve

Despite abstraction, users must grasp Raft concepts and manage multi-group configurations, which adds complexity compared to simpler consensus libraries.

Frequently Asked Questions

Quick Stats

Stars5,322
Forks573
Contributors0
Open Issues50
Last commit1 year ago
CreatedSince 2018

Tags

#high-performance#distributed-storage#raft-protocol#distributed-systems#go-library#state-machine#fault-tolerance#consensus#golang#consensus-algorithm#go#raft

Built With

G
Go
P
Prometheus
R
RocksDB

Included in

Go169.1k
Auto-fetched 5 hours ago

Related Projects

Go-zeroGo-zero

A cloud-native Go microservices framework with cli tool for productivity.

Stars33,213
Forks4,312
Last commit14 hours ago
go-kitgo-kit

A standard library for microservices.

Stars27,431
Forks2,444
Last commit2 years ago
KratosKratos

Your ultimate Go microservices framework for the cloud-native era.

Stars25,803
Forks4,168
Last commit22 days ago
grpc-gogrpc-go

The Go language implementation of gRPC. HTTP/2 based RPC

Stars23,013
Forks4,725
Last commit12 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub