# wenweihu86/raft-java

Raft Java implementation which is simple and easy to understand.

Repository: https://github.com/wenweihu86/raft-java
Canonical: https://ross.abutalabs.com/products/raft-java
Language: Java
License: Apache-2.0
License Family: permissive
Topics: raft, raft-protocol, raft-consensus-algorithm, distributed-storage, distributed-file-system, raft-java, raft-algorithm, raft-consensus
Last push: 2024-01-10T04:43:19+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3410, "days_push": 966, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1231, forks 410 (observed 2026-08-28T04:04:04.319895+00:00)

## What it is
A Java library implementing the Raft consensus algorithm, supporting leader election, log replication, snapshots, and dynamic cluster membership changes. It is designed to be simple and easy to understand, letting developers build distributed storage systems on top of it.

## Use cases
- build a distributed key-value store in Java
- learn how the Raft consensus algorithm works
- add replicated state machine consensus to a Java service
- implement leader election and log replication
- run a small 3-node raft cluster for testing
- build a distributed file system with consensus

## When to choose
- you want a readable, educational Raft implementation in Java
- you need to embed consensus into a custom Java storage system
- you want control over the state machine and snapshot logic

## When to avoid
- you need a production-hardened, widely deployed consensus library
- you need Maven Central artifacts (it must be manually installed)
- you need multi-raft sharding or advanced features out of the box

## Facets
- artifact type: library
- maturity: maintenance
- function: rpc, concurrency, developer-tools
- domain: microservices, databases, developer-tools
- platform: jvm, cross-platform
- tags: raft-consensus, distributed-storage, leader-election, log-replication, snapshot, java-library, consensus-algorithm, algorithms, linux

## Member repositories
- wenweihu86/raft-java (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:04.319895+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:22:32.793249+00:00, confidence not recorded.
  - readme: https://github.com/wenweihu86/raft-java (fetched 2026-08-28T04:04:04.319895+00:00, sha e79a80e2f5ad)
- Data as of 2026-08-30T08:39:29.467469+00:00.
