dares v0.0.2
Dares
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
Install
List Dares in your package.json:
"dares": "~0.0.2",and run
npm installto install it as a dependency.
Initialization
After installing you will be able to use Dares.js by
var Dares = require( 'dares' );
var instance = new Dares( id, port, options );
instance.start( callback )
with the following parameters:
idan integer id which has to be unique in the systemportport to receive messages from other nodesoptionsan object setting the options for Dares. See the defaults.js file for possible options.callbacka 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.
Writing
instance.write( key, value, callback );keyvalid json-key to write tovaluevalue to write for this keycallbackfunction 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.
Reading
instance.read( key, callback );keyvalid json-key to readcallbackfunction 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.gitinstall the dependencies
npm installand run
gruntto see a list of all available tasks. Run
grunt dockerto generate the documentation files.
License
Dares is released under the Apache License, Version 2.0.