JournalKeeper

License Release Maven Central Last commit TravisCoverage Status

中文版

JournalKeeper is a high performance, highly reliable, strong consistent distributed streaming data storage cluster. The JournalKeeper log consistency algorithm is derived from the RAFT consistency algorithm and has been extended and improved to be more suitable for very large scale clusters with better performance. It clearly divides the system into three parts: consistency log, state machine and storage, so that each part can conform to the principle of single responsibility. JournalKeeper clearly defines system boundaries, using a more systematic and structured description method to define this algorithm, making it easy to implement and apply it to engineering practice.

What is JournalKeeper?

JournalKeeper is a ...

Complete RAFT implementation

JournalKeeper implements and hides most of the complexity of RAFT, and provides a minimal API: JournalKeeper RAFT API. Take a look at journalkeeper-examples.

Distributed streaming data storage

JournalKeeper provides Partitioned Journal Store API (JK-PS API) which were used to store sreaming data. It can be used to store monitoring data, log data such as Binlog, and provides streaming data storage for stream computing. It can also be used to implement Pub / Sub systems. The following features are supported:

In process distributed coordinating service

JournalKeeper provides Journal Keeper Coordinating Service API(JK-CS API) can be used to coordinate distributed systems, and it is embedded in your business system, No extra deployment and maintenance is required. JournalKeeper can be used:

Features

The core of JournalKeeper is a high-performance RAFT library optimized for large-scale distributed clusters. It strictly implements all the features of The Raft consensus algorithm, including:

In addition, JournalKeeper also includes these useful features:

Documentation

Visit This post(In Chinese)

API

Visit JournalKeeper API(In Chinese)

Contributing

We are dedicate to building high-quality messaging platform product. So any thoughts, pull requests, or issues are appreciated.

License

Licensed under the Apache License, Version 2.0.