hash_ring

0.2.1 • Public • Published

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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.2.1
    1
  • 0.1.0
    0
  • 0.2.0
    0

Package Sidebar

Install

npm i hash_ring

Weekly Downloads

1

Version

0.2.1

License

none

Last publish

Collaborators

  • bnoguchi