Skip to content

relab/rkv

Repository files navigation

Raft key-value store using Gorums/gRPC

This repository contains a distributed key-value store using the Raft Consensus Algorithm. Three different Raft implementations are supported.

Project layout

github.com/relab/rkv
Common code.
github.com/relab/rkv/scripts
Ansible playbooks for experimental evaluation.
github.com/relab/rkv/cmd/rkvd
Key-value store server.
github.com/relab/rkv/cmd/rkvctl
key-value store client.
github.com/relab/rkv/cmd/{getleaderid,postprocess,printboltdb}
Various utility programs.

Install

You might not need to execute all the steps but this should work if you are starting from scratch on Ubuntu 16.10.

# You need at least Go and Git.
apt install -y golang-go git

# If you have not set up your Go environtment; this is the minimal required.
cat <<EOF >> ~/.profile
export GOPATH=~/go
export PATH=\$PATH:\$GOPATH/bin
EOF

## Make sure $GOPATH is set and $GOPATH/bin is in $PATH.
source ~/.profile

# Alternatively (but won't be permanent).
## export GOPATH=~/go
## export PATH=$PATH:$GOPATH/bin

# If the repository is private you need to create an SSH key and add it at
# github.com/settings/keys. and make sure it's in your ~/.ssh folder.
git config --global url."git@github.com:".insteadOf "https://github.com/"

# Get the source.
go get github.com/relab/rkv

# Install the binaries.
make install

# Running tests.
make test

# Removing the binaries.
make clean

For details on the specific programs:

About

Raft key-value store using Gorums/gRPC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published