opmindo / sofa-jraft

An industrial-grade java implementation of RAFT consensus algorithm.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SOFAJRAFT

Build Status license

Intro

An industrial-grade java implementation of RAFT consensus algorithm. It's ported from baidu's open source project braft and optimized for java language/runtime

  1. use sofa-bolt as RPC framework.
  2. use RocksDB as log storage.
  3. use disruptor for batch processing.

Also we implement some features that braft missing:

  1. replication pipeline optimistic.
  2. readIndex for linearizable read.
  3. distributed embed KV storage engine.
  • 文档:
  • 联系人: killme2008、fengjiachun

Acknowledgments

Thanks braft for providing the amazing C++ implementation!

License

braft is Apache License 2.0, jraft is the same with it.

We also reference some open source project code (may have a few modifications), including:

  1. NonBlockingHashMap/NonBlockingHashMapLong in jctool
  2. Pipeline design in netty, HashedWheelTimer, etc.
  3. The codec of utf8 string in protobuf

About

An industrial-grade java implementation of RAFT consensus algorithm.

License:Apache License 2.0


Languages

Language:Java 99.9%Language:Shell 0.1%