arancia

command module
v0.0.0-...-aab95d3 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2019 License: MIT Imports: 4 Imported by: 0

README

Arancia - Distributed Key Value Store

This project targets on creating a distributed key-value store based on 2PC protocol with consistent hashing in order to maintain data consistency and high availability.

Architecture

Alt text

Prerequisites

What things you need to install to run the software and how to install them

Vagrant

Download vagrant for macOS

virtualbox 5.2.30 

Download virtualbox for macOS

Installing

A step by step series of examples that tell you how to get a development env running

Install Vagrant using the download link
Install Virtualbox using the download link
cd deploy/

Creates the Ubuntu virtual machine using the Vagrantfile

vagrant up

SSH into the virtual machine

vagrant ssh

Folder which has symlink with local machine folder

cd /vagrant

Install the Go Library

go get github.com/elazarl/goproxy

Creates a python3 virtualenv

mkvirtualenv --python=python3 <NAME_OF_ENV>

Install the python dependencies

pip3 install -r requirements.txt

Use this command to deactivate the python virtual environment

deactivate

Use this command to activate the python virtual environment

workon <NAME_OF_ENV>

Similarly, install all the prerequisites.

Running the tests

Use this command from root directory to start the Go Proxy server

go run proxy.go

Use this command from /server to start the Gunicorn Server

gunicorn --bind=0.0.0.0:8000 --log-level=debug wsgi --reload

Start the Celery Worker from /server

celery -A send_email worker --loglevel=info

API Calls with documentation will be updated soon. Moreover how to use CURL or POSTMAN to send the request shall be explained.

Performance

Performance Benchmarking tool was created with a support from RocksDB OpenSource Foundations

Deployment

Not Deployed.

Versioning

I use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

Acknowledgments

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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