weighted-round-robin

2.0.2 • Public • Published

Weighted Round Robin

A simple weighted round robin load balance module. Algorithm is similar to Nginx.

Install:

npm install weighted-round-robin

Usage:

Example:

var Peers = require('weighted-round-robin');

var peers = new Peers();

peers.add({
  server:"192.168.1.1:80",
  weight:90
});

peers.add({
  server:"192.168.1.2:80",
  weight:10
});

peers.add({
  server:"192.168.1.3:80",
  weight:10
});

// many more


for(var i = 0; i < 20 ; i++ ){
  console.info(peers.get().server);
}

peers.add( object )

returns id for the peers, notice that the object will be modified, you'd better clone it if you want to keep the original value.

peers.get()

returns a peer according to the algorithm.

peers.reset()

reset all peers' chance.

peers.each( fn , context )

iterates over all peers, the fn is bound to the context object.

peers.remove( key )

remove the peer.

peers.remove( fn )

remove the peer when the fn returns true.

peers.size()

return the size of the peers.

Readme

Keywords

none

Package Sidebar

Install

npm i weighted-round-robin

Weekly Downloads

581

Version

2.0.2

License

none

Last publish

Collaborators

  • henry42