GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - apache/ratis: Open source Java implementation for Raft consensus protocol.

BranchesTags
Open more actions menu

Latest commit

 

History

2,198 Commits
2,198 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.idea
.idea
 
 
.mvn
.mvn
 
 
dev-support
dev-support
 
 
ratis-assembly
ratis-assembly
 
 
ratis-bom
ratis-bom
 
 
ratis-client
ratis-client
 
 
ratis-common
ratis-common
 
 
ratis-docs
ratis-docs
 
 
ratis-examples
ratis-examples
 
 
ratis-experiments
ratis-experiments
 
 
ratis-grpc
ratis-grpc
 
 
ratis-metrics-api
ratis-metrics-api
 
 
ratis-metrics-default
ratis-metrics-default
 
 
ratis-metrics-dropwizard3
ratis-metrics-dropwizard3
 
 
ratis-netty
ratis-netty
 
 
ratis-proto
ratis-proto
 
 
ratis-resource-bundle
ratis-resource-bundle
 
 
ratis-server-api
ratis-server-api
 
 
ratis-server
ratis-server
 
 
ratis-shell
ratis-shell
 
 
ratis-test
ratis-test
 
 
ratis-tools
ratis-tools
 
 
ratis-trace-otel
ratis-trace-otel
 
 
src/main/resources
src/main/resources
 
 
.asf.yaml
.asf.yaml
 
 
.gitignore
.gitignore
 
 
BUILDING.md
BUILDING.md
 
 
DEPLOY.md
DEPLOY.md
 
 
LICENSE
LICENSE
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
mvnw
mvnw
 
 
mvnw.cmd
mvnw.cmd
 
 
pom.xml
pom.xml
 
 
start-build-env.sh
start-build-env.sh
 
 

Repository files navigation

Apache Ratis

Apache Ratis is a Java library that implements the Raft protocol [1], where an extended version of the Raft paper is available at https://raft.github.io/raft.pdf. The paper introduces Raft and states its motivations in following words:

Raft is a consensus algorithm for managing a replicated log. It produces a result equivalent to (multi-)Paxos, and it is as efficient as Paxos, but its structure is different from Paxos; this makes Raft more understandable than Paxos and also provides a better foundation for building practical systems.

Ratis aims to make Raft available as a java library that can be used by any system that needs to use a replicated log. It provides pluggability for state machine implementations to manage replicated states. It also provides pluggability for Raft log, rpc implementations and metric implementations to make it easy for integration with other projects. Another important goal is to support high throughput data ingest so that it can be used for more general data replication use cases.

  • To build the artifacts, see BUILDING.md.
  • To run the examples, see ratis-examples/README.md.

Reference

  1. Diego Ongaro and John Ousterhout, In Search of an Understandable Consensus Algorithm, 2014 USENIX Annual Technical Conference (USENIX ATC 14) (Philadelphia, PA), USENIX Association, 2014, pp. 305-319.

About

Open source Java implementation for Raft consensus protocol.

ratis.apache.org/

Topics

consensusconsensus-protocoljavaraft

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Security policy

Security policy
Activity
Custom properties

Stars

1.5k stars

Watchers

43 watching

Forks

461 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.