1.0.0 • Published 10 years ago
spaceport v1.0.0
Spaceport
Spaceport is a decentralized service registry for nodejs. There is no central server to maintain or register with. Processes communicate peer-to-peer over multicast (similar to zeroconf/mdns).
Spaceport works great when you have any processes that need to talk to one another but you don't want to predefine their locations or ports.
This module only works with node 0.10+
install
npm install spaceport
use
To create a new service and announce its presence.
// port can be specified programmically if assigned by the system
var service = spaceport.service('service name', { port: 1234 });
// the service will now announce it is available and capable of responding to requests
service.start();
// to stop the service and announce it should not longer be available
service.stop();
To listen to a particular service.
// create a browser to tell us when this service comes online
var browser = spaceport.browser('service name').start();
// service is available
browser.on('up', function(service) {
// unique identifier for the service
service.ident
// hostname of the service box (obtained with os.hostname)
service.host
// custom information for the service
// these details are passed in when the service is created
// { port: 1234 } above is the details
service.details
// the service is offline will trigger a down event
service.once('down', function() {
});
});
api
see the wiki for additional details: https://github.com/defunctzombie/node-spaceport/wiki