A distributed heterogeneous dynamic quorum-based data replication system
npm install daresDares
=====
    
#### Distributed Heterogeneous Dynamic Quorum-based Data Replication
Dares is a proof-of-concept implementation of a distributed heterogeneous dynamic quorum-based data replication scheme. The theoretical foundations are described in
Storm 2012.
We presented Dares at the 13th MNUG meet-up. A video of the talk can be found here.
Getting started
---------------
"dares": "~0.0.2",
and run
npm install
to install it as a dependency.
var Dares = require( 'dares' );
var instance = new Dares( id, port, options );
instance.start( callback )
with the following parameters:
* id an integer id which has to be unique in the system
* port port to receive messages from other nodes
* options an object setting the options for Dares. See the defaults.js file for possible options.
* callback a function to be called when the setup is complete
leave empty to start a new distributed system
After callback was called, the new node is ready to be used.
* key valid json-key to write to
* value value to write for this key
* callback function which gets called when the write is completed.
Writes the key value pair to the distributed system. callback gets called either with callback( true ) when the write
was successful and callback( false, error ) in case of an unsuccessful write.
* key valid json-key to read
* callback function which gets called when the read is completed.
Reads a key from the distributed system. callback gets called either with callback( true, value ) with value being the
read value when the write was successful or callback( false, error ) in
case of an unsuccessful write.
Contributing
------------
To contribute, clone the repository
git clone ssh://github.com/TNG/Dares.git
install the dependencies
npm install
and run
grunt
to see a list of all available tasks.
Run
grunt docker
to generate the documentation files.
License
-------
Dares is released under the Apache License, Version 2.0.