Distributed and Persistent key-value store

go get



Aim: To aid in the creation of a "Distributed and Persistent key-value store"

This repo contains implementation of a messaging framework amongst peers in a distributed system

To create a server, you need to provide a config file which describes the configuration of the whole cluster and the desired pid (peer id) of the server

Each server has two channels viz. Inbox and Outbox to handle incoming and outgoing traffic respectively

There are two types of messages, broadcast and point-to-point

Each message is identified by a peer id and unique msgId. The body of the message can be any object which supports serialization over the network. Every message is wrapped up in an Envelope object which contains the identification fields

Currently, there is no graceful way to shutdown the system. It keeps on running for an indefinite time unless there is some failure.