A raft-based java library for building high-available, high-durable, strong-consistent commitlog, which could act as the persistent layer for distributed storage system, i.e. messaging, streaming, kv, db, etc.
It introduces only two major apis:
- append(data)
- get(index)
Here is a Chinese introduction.
- 64bit JDK 1.8+;
- Maven 3.2.x
mvn clean install -DskipTests
## Get Command Usage
java -jar target/DLedger.jar
## Start DLedger Server
nohup java -jar target/DLedger.jar server &
## Append Data to DLedger
java -jar target/DLedger.jar append -d "Hello World"
## Get Data from DLedger
java -jar target/DLedger.jar get -i 0
- Preferred Leader Election
- Manually Configured Leader
- Automatically Degenerated to Master Slave Architecture
- Jepsen Integration
We always welcome new contributions, whether for trivial cleanups, big new features or other material rewards.