rkv

module
v0.0.0-...-dd5fc89 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2017 License: MIT

README

* Raft key-value store using Gorums/gRPC

This repository contains a distributed key-value store using the [[https://raft.github.io/raft.pdf][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.

   #+BEGIN_SRC shell
     # 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
   #+END_SRC

*** For details on the specific programs:
    - [[https://github.com/relab/rkv/tree/master/cmd/rkvd][rkvd]]
    - [[https://github.com/relab/rkv/tree/master/cmd/rkvctl][rkvctl]]

Directories

Path Synopsis
cmd
Package rkvpb is a generated protocol buffer package.
Package rkvpb is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL