Zookeeper-like distributed server, WIP


Zookeeper-like distributed server, WIP.

Via npm on Node:

npm install simplekeeper

Reference in your program:

var simplekeeper = require('simplekeeper');

In the current version (0.0.1) only local server is implemented, with two flavors: synchronous and asynchronous.

Create a server

var server = simplekeeper.createSyncServer('simplekeeper');

Get value

var value = simplekeeper.getValue('/user/1/name');

Return null if path does not exist.

Set value

simplekeeper.setValue('/user/1/name', 'adam');
simplekeeper.setValue('/user/1/age', 800);

Get children

var names = simplekeeper.getChildren('/user/1'); // ['name', 'age'] 

Delete node (and its children, if any)


Exists node

simplekeeper.exists('/user/1'); // false after deletoin 

Invalid path (throws exceptions)

simplekeeper.getValue(null);   // null 
simplekeeper.getValue(123);    // not a string 
simplekeeper.getValue('');     // empty string 
simplekeeper.getValue('foo');  // it does not start with / 

Create a server

var server = simplekeeper.createServer('simplekeeper');

Its functions are the same of a synchronous server, but with a callback. I.e.: Get Value

var value = simplekeeper.getValue('/user/1/name', function (errvalue) { ... } );
git clone git://
cd SimpleKeeper
npm install
npm test


  • Samples
  • Set Leader
  • Distributed Server
  • Invalid path when it ends with /
  • 0.0.1: Published

Feel free to file issues and submit pull requests � contributions are welcome.

If you submit a pull request, please be sure to add or update corresponding test cases, and ensure that npm test continues to pass.