awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
lni avatar

lni/dragonboat

0
View on GitHub↗
5,308 stars·569 forks·Go·Apache-2.0·28 views

Dragonboat

Dragonboat is a Go implementation of the Raft consensus protocol designed to maintain consistent state across a distributed cluster of nodes. It provides a library for building distributed state machines that ensure data integrity and fault tolerance during system failures.

The project distinguishes itself through a multi-group Raft implementation, which partitions data across independent consensus groups to distribute workloads and increase overall system processing capacity. It also incorporates mutual TLS to encrypt inter-node communication and verify the identity of cluster members.

The system includes capabilities for high-performance state machines with support for both memory and disk persistence. It features read-path optimizations to ensure consistency without generating new log entries, a pluggable storage interface for custom log backends, and administrative tooling for quorum recovery to restore availability after a permanent loss of the node majority.

Operational stability is supported through the export of cluster health metrics.

Features

  • Raft Consensus Implementations - Provides a Go implementation of the Raft protocol to manage replicated logs and leader election for distributed consistency.
  • Multi-Raft Sharding - Utilizes a multi-Raft sharding architecture where independent consensus groups manage different data ranges to scale throughput.
  • Distributed Consensus Algorithms - Implements protocols that ensure agreement on a sequence of operations across network nodes to maintain consistent state.
  • Distributed Coordination Systems - Provides a framework for managing state, synchronization, and consensus across distributed nodes to ensure data consistency.
  • Distributed State Machines - Provides a library for building distributed state machines that maintain consistency and data integrity across a cluster.
  • Distributed State Synchronization - Provides a mechanism for synchronizing application state across distributed server instances to ensure fault tolerance.
  • Replicated State Machines - Implements replicated state machines that maintain identical state across nodes using an ordered sequence of log operations.
  • Quorum Restorations - Includes a utility for restoring quorum and designating a new leader after a cluster has lost its majority of voting members.
  • Consistent Read Optimizations - Implements read-path optimizations that verify the latest committed index to ensure consistency without generating new log entries.
  • Durable State Machine Persistence - Supports building durable application states that persist to disk or reside in memory for fast recovery.
  • Pluggable Storage Backends - Provides a pluggable storage interface allowing the consensus log to be persisted in various database backends.
  • Quorum Recovery Mechanisms - Provides administrative tooling to restore cluster availability by manually reconfiguring membership after a permanent majority loss.
  • Consistent Read Protocols - Implements a specialized index protocol for read-only queries to ensure strong consistency without appending new entries to the transaction log.
  • Consensus Log Storage Integrations - Supports integrating custom storage backends and transport layers to optimize performance for the consensus log.
  • Cluster Communication Security - Enforces mutual TLS authentication across internal cluster components to ensure secure communication in open environments.
  • Mutual TLS Authentication - Secures inter-node communication using mutual TLS to encrypt traffic and verify member identity.
  • Mutual TLS Transports - Secures inter-node communication using mutual TLS transports for encrypted tunnels and certificate-based identity verification.
  • State Persistence Layers - Supports both memory and disk persistence for application state to ensure durability across system restarts.
  • Consensus Cluster Recoveries - Offers mechanisms to restore availability to a consensus cluster after a majority of nodes are permanently lost.
  • Distributed Systems - High-performance library for distributed consensus.
  • Algorithms - Raft consensus algorithm library.
  • Distributed Systems - High-performance multi-group Raft consensus library.

Star history

Star history chart for lni/dragonboatStar history chart for lni/dragonboat

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does lni/dragonboat do?

Dragonboat is a Go implementation of the Raft consensus protocol designed to maintain consistent state across a distributed cluster of nodes. It provides a library for building distributed state machines that ensure data integrity and fault tolerance during system failures.

What are the main features of lni/dragonboat?

The main features of lni/dragonboat are: Raft Consensus Implementations, Multi-Raft Sharding, Distributed Consensus Algorithms, Distributed Coordination Systems, Distributed State Machines, Distributed State Synchronization, Replicated State Machines, Quorum Restorations.

Which projects share features with lni/dragonboat?

Projects with overlapping indexed features include: sofastack/sofa-jraft — sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and… hashicorp/raft — This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives… coreos/etcd — etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… aphyr/distsys-class — This project provides educational materials and courseware focused on the theoretical and practical foundations of… hashicorp/consul — Consul is a distributed coordination service and service mesh tool used for service discovery, health monitoring, and…

Projects sharing features with Dragonboat

These projects share indexed features with Dragonboat. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sofastack/sofa-jraftsofastack avatar

    sofastack/sofa-jraft

    3,806View on GitHub↗

    sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and linearizable state machine designed to ensure high availability and data consistency across a cluster of nodes. The project provides a replicated key-value store and a coordination engine for managing distributed state. It distinguishes itself through support for multi-group consensus sharding to distribute traffic and a service provider interface that allows for custom log storage and entry encoding implementations. The system covers a wide range of distributed capabilities,

    Javaconsensusdistributed-consensus-algorithmsjava
    View on GitHub↗3,806
  • hashicorp/rafthashicorp avatar

    hashicorp/raft

    9,037View on GitHub↗

    This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives necessary to build fault-tolerant distributed services by implementing a replicated state machine that ensures a group of servers agree on a shared system state through leader election and log replication. The project distinguishes itself through a pluggable architecture for storage backends and snapshot storage, decoupling the consensus logic from physical persistence. It includes specialized mechanisms for leadership transfer, protocol version management to support rolling upgrade

    Go
    View on GitHub↗9,037
  • coreos/etcdcoreos avatar

    coreos/etcd

    51,846View on GitHub↗

    etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro

    Go
    View on GitHub↗51,846
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
Compare all 30 related projects→