Files
cairnquire/content/advanced-topics/distributed-systems/consensus-algorithms/raft-deep-dive/configuration.md
Tim Bendt 780ff3a02c feat: miller column browser, offline cache, search, breadcrumbs
- Dynamic miller column sizing with flexbox layout
- Root column (160px), middle slices (48px), active column (flex)
- Auto-scroll browser to rightmost column on navigation
- Offline indicator UI and IndexedDB cache integration
- /api/documents endpoint for client-side document caching
- Breadcrumb navigation in document content area
- FTS5 search with SQLite virtual table
- Client-side Mermaid and KaTeX rendering via CDN
- Deep sample content (advanced-topics/raft-deep-dive)
- Border removal (only search button keeps radius)
- Full viewport layout with proper borders between sidebar/content
2026-04-30 11:55:03 -04:00

832 B

Raft Configuration

Configuration options for running a Raft cluster in production.

Cluster Size

For fault tolerance with f failures, you need 2f + 1 nodes:

  • 3 nodes: tolerates 1 failure
  • 5 nodes: tolerates 2 failures
  • 7 nodes: tolerates 3 failures

Election Timeout

The election timeout should be:

  • At least 10x the network round-trip time (RTT)
  • Typically 150-300ms in a single datacenter
  • 500ms-2s across regions

Heartbeat Interval

Set to roughly 1/3 to 1/10 of the election timeout:

heartbeat_interval = election_timeout / 3

Log Compaction

Configure snapshot creation when the log grows too large:

Threshold Description
10,000 entries Minimum for frequent writes
100MB Size-based threshold
Daily Time-based for low-write workloads