noah

module
v0.0.0-...-c54ec7c Latest Latest
Warning

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

Go to latest
Published: May 23, 2018 License: MIT

README

Go Report Card codecov Build Status Travis License

What is noah?

noah is a distributed consensus kv store system.

Key features:

  • Raft protocol for keeping values consensus among servers in cluster
  • Rocksdb for local store

Design

Getting started

1. Install Rocksdb library

https://github.com/facebook/rocksdb/blob/master/INSTALL.md Notice: go install with tag "rocksdb"

brew install rocksdb
2. Install vendor packages using glide
brew install glide

glide install

glide update

sh build.sh

cd output/

./bin/noah-server -data /tmp/noah/data

TODO

-d: daemon mode
-h: help info
-v: show version info
-c: path to configaration file, e.g., /etc/noah/server.conf

glide manual
brew install glide

glide mirror set https://golang.org/x/net https://github.com/golang/net --vcs git
glide mirror set google.golang.org/grpc https://github.com/grpc/grpc-go --vcs git

glide init

glide install

glide update

glide get package/xxx
test
go test -tags="rocksdb" ./...

Directories

Path Synopsis
store/crc
Package crc provides utility function for cyclic redundancy check algorithms.
Package crc provides utility function for cyclic redundancy check algorithms.
examples
rocksdb command
rpc/client command
rpc/server command
noahserver command
raftdemo command

Jump to

Keyboard shortcuts

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