Skip to main content
Apache Ratis Logo

Apache Ratis

Open source Java implementation for Raft consensus protocol

What is Apache Ratis™?

Apache Ratis is a highly customizable Java implementation of the Raft consensus protocol.

Raft is an easily understandable consensus algorithm designed to manage replicated state across a distributed system.

Apache Ratis can be seamlessly integrated into any Java application requiring state replication across multiple instances.

Easy to Use

Pluggable Transport

Ratis provides a pluggable transport layer. By default gRPC, Netty+Protobuf and Apache Hadoop RPC based transports are provided.

Focus on What Matters

Pluggable State Machine

Ratis supports a log and state machine. State machine typically contains the data that you want to make highly available. Ratis makes it easy to use your own state machine.

Powered by React

Pluggable Raft Log

RAFT log is also pluggable, users can provide their own log implementation. The default implementation stores log in local files.

Easy to Use

Pluggable Metrics

Ratis provides a pluggable observation layer. By default (ratis-metrics-default), it uses the shaded Dropwizard 4 provided by ratis-thirdparty. Another implementation can be found in ratis-metrics-dropwizard3. Users can provide their own metrics implementations.

Focus on What Matters

Log Service

Ratis provides a log service recipe provides StateMachines to implement a distributed log service with a focused client API. For more information, please read the LogService documentation.