Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
jabolina committed Nov 18, 2023
1 parent 41ba7f2 commit be3abed
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 13 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,3 @@ jobs:
cache: maven
- name: Build with Maven
run: mvn -B package --file pom.xml -Dgroups=functional

# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
- name: Update dependency graph
uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6
35 changes: 26 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,37 @@
jgroups-raft
============

Implementation of the RAFT [1] consensus algorithm in JGroups. For the
design, look into `doc`.
[![Last Build](https://img.shields.io/github/actions/workflow/status/jgroups-extras/jgroups-raft/maven.yml?style=for-the-badge&logo=github)](https://github.com/jgroups-extras/jgroups-raft/actions/workflows/maven.yml)
[![Maven Central](https://img.shields.io/maven-central/v/org.jgroups/jgroups-raft?style=for-the-badge&logo=apache-maven&color=green)](https://central.sonatype.com/artifact/org.jgroups/jgroups-raft)
[![License](https://img.shields.io/github/license/jgroups-extras/jgroups-raft?style=for-the-badge&logo=apache&color=green)](https://www.apache.org/licenses/LICENSE-2.0)

To generate the manual execute `ant manual` (requires `asciidoctor`).
jgroups-raft is an implementation of the [Raft](https://raft.github.io/) consensus algorithm in [JGroups](http://jgroups.org/).
Users can use jgroups-raft embedded in their applications to build strongly consistent, highly available, fault-tolerant systems.

Discussions on design and implementation are at [2].

The web page is here: [3].
## Overview
jgroups-raft is a library offering all the guarantees the Raft algorithm provides, with features including:

There's an IRC at #jgroups-raft.
* Configurable and alternatives for leader election;
* Dynamic membership changes in single-step;
* Configurable log implementations for storage;
* Member deduplication and request redirection;
* Ready-to-use building blocks.

[1] http://raftconsensus.github.io/
By building on top of JGroups, jgroups-raft takes advantage of additional features with a mature and battle-tested network stack.
jgroups-raft is [verified with Jepsen](https://github.com/jgroups-extras/jepsen-jgroups-raft) to identify linearizability violations in the building blocks.

[2] https://groups.google.com/forum/#!forum/jgroups-raft

[3] http://belaban.github.io/jgroups-raft
## Getting Started

To get started developing with jgroups-raft:

* Take a look at the complete [documentation](https://belaban.github.io/jgroups-raft/manual/index.html);
* Details about the implementation are available in the [design documents](https://github.com/jgroups-extras/jgroups-raft/tree/master/doc/design).


## Contributing

* Get in touch through the [discussion group](https://groups.google.com/forum/#!forum/jgroups-raft) or [GitHub discussions](https://github.com/jgroups-extras/jgroups-raft/discussions);
* Open bug reports on [GitHub issues](https://github.com/jgroups-extras/jgroups-raft/issues);
* Feel like coding? Look at the issues page and get in touch with any questions.

0 comments on commit be3abed

Please sign in to comment.