A minimal distributed in-memory key-value store
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
server
.gitignore
Makefile
README.md
handler.go
proxy.go

README.md

distributed-kvstore

A distributed in-memory key-value store.

Design

The project includes two main components:

  • Proxy/Router written in golang

  • Server written in Python

Proxy is responsible for routing client requests for adding and fetching key-value pairs to servers based on key hashes.

Server code is responsible for spinning up new http servers and enabling servers to store key-value pairs in-memory.

The proxy server exposes an HTTP API that clients can use to put and get key-value pairs.

Running the code

Install python 2.7 (required for server)

Install golang (required for proxy)

Run make build to install dependencies and build executables

Run make check to run example application with a few servers spawned on localhost.

Team Members

  • Manthan Thakar

  • Tirthraj Parmar