node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

seneca-loadbalance-transport

seneca-loadbalance-transport

Load balancing transport for Seneca.

Usage

require('seneca')()
  .use('loadbalance-transport', {
    workers:[
      { type: 'tcp', port: 9000 },   // same options you would pass normally to a transport 
      { type: 'tcp', port: 9001 },
      { type: 'http', port: 9002 }, // transports do not have to be of same type 
    ]
  })
  .client({ type: 'loadbalance' })
  .ready(function(){
    var seneca = this
 
    // this should round robin 
    setInterval(function () {
      seneca.act('a:1', function (err, out) {
        console.dir(arguments)
      })
    }, 222)
  })

Acknowledgements

This project was kindly sponsored by the awesome people at nearForm and is somewhat based on seneca-shard-store.