All Projects → apache → Ratis

apache / Ratis

Licence: apache-2.0
Open source Java implementation for Raft consensus protocol.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Ratis

Raft
Raft Consensus Algorithm
Stars: ✭ 370 (-16.48%)
Mutual labels:  consensus, raft
little-raft
The lightest distributed consensus library. Run your own replicated state machine! ❤️
Stars: ✭ 316 (-28.67%)
Mutual labels:  raft, consensus
openraft
rust raft with improvements
Stars: ✭ 826 (+86.46%)
Mutual labels:  raft, consensus
Atomix
A reactive Java framework for building fault-tolerant distributed systems
Stars: ✭ 2,182 (+392.55%)
Mutual labels:  consensus, raft
Dragonboat
Dragonboat is a high performance multi-group Raft consensus library in pure Go.
Stars: ✭ 3,983 (+799.1%)
Mutual labels:  consensus, raft
Sofa Jraft
A production-grade java implementation of RAFT consensus algorithm.
Stars: ✭ 2,618 (+490.97%)
Mutual labels:  consensus, raft
raftor
Distributed chat system built with rust
Stars: ✭ 31 (-93%)
Mutual labels:  raft, consensus
X0
Xzero HTTP Application Server
Stars: ✭ 111 (-74.94%)
Mutual labels:  consensus, raft
FISCO-BCOS
FISCO BCOS是由微众牵头的金链盟主导研发、对外开源、安全可控的企业级金融区块链底层技术平台。 单链配置下,性能TPS可达万级。提供群组架构、并行计算、分布式存储、可插拔的共识机制、隐私保护算法、支持全链路国密算法等诸多特性。 经过多个机构、多个应用,长时间在生产环境中的实践检验,具备金融级的高性能、高可用性及高安全性。FISCO BCOS is a secure and reliable financial-grade open-source blockchain platform. The platform provides rich features including group architecture, cross-chain communication protoc…
Stars: ✭ 1,603 (+261.85%)
Mutual labels:  raft, consensus
raft
raft is a golang library that provides a simple, clean, and idiomatic implementation of the Raft consensus protocol
Stars: ✭ 35 (-92.1%)
Mutual labels:  raft, consensus
Verdi Raft
An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
Stars: ✭ 143 (-67.72%)
Mutual labels:  consensus, raft
Floyd
A raft consensus implementation that is simply and understandable
Stars: ✭ 259 (-41.53%)
Mutual labels:  consensus, raft
Zatt
Python implementation of the Raft algorithm for distributed consensus
Stars: ✭ 119 (-73.14%)
Mutual labels:  consensus, raft
raft-badger
Badger-based backend for Hashicorp's raft package
Stars: ✭ 27 (-93.91%)
Mutual labels:  raft, consensus
Bifrost
Pure rust building block for distributed systems
Stars: ✭ 118 (-73.36%)
Mutual labels:  consensus, raft
Raft-Paxos-Sample
MIT6.824实现分布式一致性算法——Raft&Paxos
Stars: ✭ 37 (-91.65%)
Mutual labels:  raft, consensus
Yaraft
Yet Another RAFT implementation
Stars: ✭ 109 (-75.4%)
Mutual labels:  consensus, raft
Trepang
Trepang is an implementation of Raft Algorithm in Go
Stars: ✭ 111 (-74.94%)
Mutual labels:  consensus, raft
coolbeans
Coolbeans is a distributed work queue that implements the beanstalkd protocol.
Stars: ✭ 56 (-87.36%)
Mutual labels:  raft, consensus
raft-rocks
A simple database based on raft and rocksdb
Stars: ✭ 38 (-91.42%)
Mutual labels:  raft, consensus

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, and rpc 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.

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].