Nutella with Pepperoni and Mushrooms
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    hash_ringpublic

    node-hash-ring - Consistent Hashing C++ Add-on for node.js


    See this blog post for more information.

    Installation

    Via npm:

    npm install hash_ring
    

    Via git:

    git clone http://github.com/bnoguchi/node-hash-ring.git
    cd node-hash-ring/src
    node-waf configure build
    

    Example

    var HashRing = require("./lib/hash_ring");
     
    // Create a cluster of 3 servers weighted so that 127.0.0.2:8080 stores twice as many  
    // keys as 127.0.0.1:8080, and 127.0.0.3:8080 stores 4x as many keys as 127.0.0.1:8080 
    // and 2x as many keys as 127.0.0.2:8080 
    var ring = new HashRing({"127.0.0.1:8080": 1, "127.0.0.2:8080": 2, "127.0.0.3:8080":4});
    console.log(ring.getNode("users:102") ); // Should be 127.0.0.3:8080 

    See ./test/test_distribution.js for another example: node test/test_distribution.js

    Tests

    To run the tests:

    $ make test
    

    License

    MIT License


    Author

    Brian Noguchi

    Keywords

    none

    install

    npm i hash_ring

    Downloadsweekly downloads

    2

    version

    0.2.1

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar