raftnode

https://img.shields.io/pypi/v/raftnode.svg Documentation Status

RAFT consensus algorithm implementation

What is raftnode?

raftnode is a fault tolerant distributed metastore based on RAFT consensus algorithm. It supports storing data in-memory and storing data in rocksdb database

Installation

By default, raftnode stores the data in memory. To install the vanilla version, follow these steps:

pip install raftnode

A persistent database can be used instead of the in-memory data storage. By default, raftnode uses rocksdb. To install this version of raftnode, follow these instructions:

pip install raftnode[rocksdb]

Basic Usage

  • Use in memory data store:

raftnode --ip <MY_IP:MY_PORT> --peers <PEER1:PORT1>,<PEER2:PORT2>,...,<PEERn:PORTn>
  • …OR use rocksdb database:

raftnode --ip <MY_IP:MY_PORT> --peers <PEER1:PORT1>,<PEER2:PORT2>,...,<PEERn:PORTn> --store database --volume <DIRECTORY TO STORE THE DATABASE>

For detailed command line reference, click cli usage

For detailed usage, click client usage

For more detailed CLI instructions:

raftnode --help

Features

  • TODO

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.