# apache/ratis

Open source Java implementation for Raft consensus protocol.

Repository: https://github.com/apache/ratis
Canonical: https://ross.abutalabs.com/products/ratis
Homepage: https://ratis.apache.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: raft, consensus-protocol, consensus, java
Last push: 2026-08-26T09:59:58+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 35, longevity 100
- inputs: {"age_days": 3501, "days_push": 7, "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 1474, forks 453 (observed 2026-08-28T04:04:49.722087+00:00)

## What it is
Apache Ratis is a highly customizable Java library implementing the Raft consensus protocol for managing replicated logs and state. It offers pluggable transport (gRPC, Netty, Hadoop RPC), state machine, Raft log, and metrics layers, plus a LogService recipe for distributed log management.

## Use cases
- replicate application state across multiple Java instances
- build a highly available replicated log for my system
- implement a custom state machine with consensus
- add fault-tolerant data replication to a Java service
- build a distributed log service
- understand and experiment with the Raft consensus algorithm
- replace ZooKeeper-style coordination with an embeddable library

## When to choose
- you need Raft consensus embedded in a Java/JVM application
- you want pluggable transport, log, state machine, and metrics layers
- you need high-throughput data replication rather than a standalone coordination server
- you want an Apache-licensed, actively maintained consensus library

## When to avoid
- you need a standalone, out-of-the-box coordination server like ZooKeeper or Consul
- your stack is not on the JVM
- you only need simple leader election without a replicated log
- you need a consensus protocol other than Raft

## Facets
- artifact type: library
- maturity: stable
- function: rpc, serialization, monitoring, concurrency
- domain: microservices, developer-tools, databases
- platform: jvm, cross-platform
- tags: raft, consensus, replicated-log, state-machine-replication, grpc, apache

## Member repositories
- apache/ratis (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:49.722087+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-30T04:34:33.329831+00:00, confidence not recorded.
  - readme: https://github.com/apache/ratis (fetched 2026-08-28T04:04:49.722087+00:00, sha e76f7455d680)
  - homepage: https://ratis.apache.org/ (fetched 2026-08-29T11:41:56.521131+00:00, sha 98e987e694e2)
  - site_page: https://ratis.apache.org/logservice (fetched 2026-08-29T11:41:56.530359+00:00, sha 2f4a0d4fd421)
- Data as of 2026-08-30T08:39:29.467469+00:00.
