A distributed in-memory key-value store.
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
get key-value pairs.
Running the code
python 2.7 (required for server)
golang (required for proxy)
make build to install dependencies and build executables
make check to run example application with a few servers spawned on localhost.