zmq-soa
implement distributed zmq SOA broker , worker , requester
Usage
npm install zmq-soa
Broker
Start broker
Broker is used for setting
soa = ; var port = 8888 var broker = 'tcp://*:'+port {};
Detect client connect event
broker
Detect client disconnect event
broker
Worker and client
Start to connect
var port = 8888 //worker connectworker = 'localhost' port service: 'serviceName' //worker response function { console; return ; };//client connectclient = 'localhost' 8888;
Connected Event
worker;
Authenticate
worker auth
//trigger after encryption handshakeworker; //auth to brokerworker;
broker auth event
broker.on('auth', function(envelope, data, cb))
broker;
Client
client = new soa.Client('localhost', port);
client.send('test2', new Buffer('message'), function(err, data) {})
Worker send for other service
worker = new soa.Client('localhost', port,
{
service: 'serviceName'
}
,
//worker response function
function(data, cb) {
console.log('get test message'+data);
worker.send('service2',function(data){
return cb(data);
})
}
);
Broker service
Broker service provide client and worker to get message from broker directly.
broker.on('service',function(msg,client-envelop,[callback])
broker
client.sendBService(data,[callback],[timeout])
client;client;
License
MIT