# dragonboat | lni | Knowledge Base | Instagit

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

GitHub Stars: 5.3k

Repository: https://github.com/lni/dragonboat

---

## Articles

### [How Dragonboat Guarantees Linearizability for Concurrent Reads and Writes](/lni/dragonboat/dragonboat-linearizability-concurrent-reads-writes)

Discover how Dragonboat ensures linearizability for concurrent reads and writes using its Raft Read-Index protocol and at-most-once semantics for client sessions. Learn more today.

- Tags: internals
- Published: 2026-03-06

### [How to Use Dragonboat’s Repair Tool to Recover from Permanent Quorum Loss](/lni/dragonboat/dragonboat-repair-tool-recover-quorum-loss)

Recover from permanent quorum loss in Dragonboat using the repair tool. Import snapshots, rewire membership, and restart nodes to form a new quorum.

- Tags: how-to-guide
- Published: 2026-03-06

### [Dragonboat SnapshotEntries vs CompactionOverhead: Configuration and Behavior Differences](/lni/dragonboat/dragonboat-snapshotentries-vs-compactionoverhead)

Understand SnapshotEntries and CompactionOverhead differences in Dragonboat. Learn how to configure snapshot frequency and optimize log compaction for lagging followers.

- Tags: deep-dive
- Published: 2026-03-06

### [Dragonboat Storage Engines: Pebble, Tan, and Custom Configuration Guide](/lni/dragonboat/dragonboat-supported-storage-engines-configuration)

Explore Dragonboat storage engines: Pebble, Tan, and custom configurations. Learn how to set up your Raft logs with NodeHostConfig Expert for optimal performance.

- Tags: how-to-guide
- Published: 2026-03-06

### [How to Tune MaxInMemLogSize in Dragonboat to Prevent Memory Exhaustion](/lni/dragonboat/tune-maxinmemlogsize-prevent-memory-exhaustion)

Effectively tune MaxInMemLogSize in Dragonboat to prevent memory exhaustion. Learn essential settings to bound memory usage and avoid errors.

- Tags: performance
- Published: 2026-03-06

### [Dragonboat Leadership Transfer: How Raft Nodes Hand Off Control Safely](/lni/dragonboat/dragonboat-leadership-transfer-mechanisms)

Learn how Dragonboat's three-layer pipeline validates log consistency for safe leadership transfer and split brain prevention during Raft node elections.

- Tags: internals
- Published: 2026-03-06

### [How to Implement a Custom State Machine in Dragonboat with Snapshot Support](/lni/dragonboat/implement-custom-state-machine-snapshot-dragonboat)

Implement a custom state machine in Dragonboat with snapshot support. Learn how to integrate IStateMachine or IOnDiskStateMachine and its snapshot lifecycle methods for robust data persistence.

- Tags: how-to-guide
- Published: 2026-03-06

### [When to Enable Quiesce Mode in Dragonboat: A Complete Guide](/lni/dragonboat/dragonboat-quiesce-mode-when-to-enable)

Enable Dragonboat Quiesce mode for bursty or idle Raft shards to cut network traffic and CPU use after inactivity while ensuring safety. Learn when and why.

- Tags: how-to-guide
- Published: 2026-03-06

### [How to Safely Perform Dynamic Membership Changes in a Dragonboat Cluster](/lni/dragonboat/dragonboat-safe-membership-changes-add-remove-nodes)

Safely add or remove nodes in a Dragonboat cluster. Learn the step by step procedure for dynamic membership changes to ensure quorum safety and maintain cluster integrity.

- Tags: how-to-guide
- Published: 2026-03-06

### [How the PreVote Mechanism in Dragonboat Prevents Split-Brain Scenarios](/lni/dragonboat/dragonboat-prevote-split-brain-prevention)

Learn how Dragonboats PreVote mechanism prevents split-brain scenarios. This dry-run election ensures quorum feasibility, keeping your cluster stable and avoiding leader failures.

- Tags: internals
- Published: 2026-03-06

### [How to Integrate and Use Prometheus Metrics Exported by Dragonboat for Cluster Monitoring](/lni/dragonboat/dragonboat-prometheus-metrics-monitoring)

Learn to integrate Prometheus metrics from Dragonboat for robust cluster monitoring. Enable metrics in NodeHost and expose them via HTTP for Prometheus scraping. Monitor your Dragonboat cluster effectively.

- Tags: how-to-guide
- Published: 2026-03-06

### [How Dragonboat's Internal Pipeline and Batching Mechanisms Maximize Throughput](/lni/dragonboat/dragonboat-pipeline-batching-throughput-enhancement)

Discover how Dragonboat's internal pipeline and batching mechanisms maximize throughput by decoupling replica processing with staged pipelines and aggressively batching messages and log entries.

- Tags: internals
- Published: 2026-03-06

### [IsNonVoting vs IsObserver in Dragonboat: Understanding Node Configuration Differences](/lni/dragonboat/dragonboat-non-voting-vs-observer-nodes)

Understand IsNonVoting vs IsObserver node configurations in Dragonboat. Learn how IsObserver is a deprecated alias mapping to IsNonVoting for clearer node setup.

- Tags: deep-dive
- Published: 2026-03-06

### [How to Configure TLS Mutual Authentication for Secure Communication Between Dragonboat Nodes](/lni/dragonboat/configure-tls-mutual-authentication-dragonboat-transport)

Secure Dragonboat nodes with TLS mutual authentication. Enable mTLS and provide CA Cert Key file paths to encrypt Raft traffic and authenticate nodes.

- Tags: how-to-guide
- Published: 2026-03-06

### [When to Use Witness Nodes in Dragonboat Deployments: Purpose and Implementation](/lni/dragonboat/dragonboat-witness-nodes-purpose-usage)

Discover when to use Dragonboat witness nodes for enhanced availability. Learn how these lightweight Raft members boost leader elections and voting with minimal resource overhead.

- Tags: best-practices
- Published: 2026-03-06

### [How Dragonboat Implements At-Most-Once Processing for Client Requests](/lni/dragonboat/dragonboat-client-session-at-most-once-semantics)

Dragonboat implements at-most-once processing for client requests using session tracking and response caching. Learn how it prevents duplicate proposals from impacting the Raft state machine.

- Tags: internals
- Published: 2026-03-06

### [How to Implement a Custom Raft Log Storage Solution Using Dragonboat's LogDB Interface](/lni/dragonboat/implement-custom-raft-log-storage-dragonboat-logdb)

Implement a custom Raft log storage solution in Dragonboat by making your own ILogDB and factory. Inject it into NodeHostConfig for flexibility.

- Tags: how-to-guide
- Published: 2026-03-06

### [Dragonboat CheckQuorum: Ensuring Leader Availability in Raft Clusters](/lni/dragonboat/dragonboat-checkquorum-leader-availability)

Learn how Dragonboat CheckQuorum prevents split-brain and ensures leader availability in Raft clusters. Discover how it enables faster failover and improves cluster resilience.

- Tags: internals
- Published: 2026-03-06

### [Best Practices for Snapshotting and Log Compaction in Dragonboat: A Complete Guide](/lni/dragonboat/dragonboat-snapshotting-log-compaction-storage-management)

Master Dragonboat snapshotting and log compaction with this guide. Learn to prevent storage growth and maintain fast replication. Explore configuration options for efficient storage management.

- Tags: best-practices
- Published: 2026-03-06

### [Dragonboat Raft Protocol: How ReadIndex Enables Linearizable Reads](/lni/dragonboat/dragonboat-linearizable-read-protocol)

Discover how Dragonboat uses the Raft ReadIndex protocol for linearizable reads. Ensure strong consistency by applying Raft log entries to your local state machine.

- Tags: internals
- Published: 2026-03-06

### [Configuring ElectionRTT and HeartbeatRTT for Optimal Leader Election Stability in High-Latency Networks](/lni/dragonboat/configure-electionrtt-heartbeatrtt-high-latency)

Optimize Dragonboat leader election stability in high-latency networks. Learn how to configure ElectionRTT and HeartbeatRTT based on network RTT for reliable cluster operations.

- Tags: best-practices
- Published: 2026-03-06

### [IStateMachine vs IOnDiskStateMachine in Dragonboat: Functional Differences Explained](/lni/dragonboat/i-state-machine-vs-i-on-disk-state-machine-dragonboat)

Understand IStateMachine vs IOnDiskStateMachine in Dragonboat. Learn how in-memory vs disk persistence impacts state management, snapshots, and concurrency for your applications.

- Tags: deep-dive
- Published: 2026-03-06

### [How Dragonboat's Multi-Group Raft Implementation Scales to Thousands of Concurrent Raft Shards](/lni/dragonboat/how-dragonboats-multi-group-raft-implementation-scales)

Discover how Dragonboat's multi-group Raft implementation scales to thousands of concurrent Raft shards by minimizing per-shard overhead through shared resources.

- Tags: performance
- Published: 2026-03-06

