bograch

0.0.18 • Public • Published

Bograch

Dependency Status Build Status

Bograch is a tool for abstracting RPC (remote procedure call) communication between/with NodeJS microservices.

Usage

Add a transporter.

var bo = require('bograch');
var AmqpTransporter = require('bograch-amqp');
 
bo.use(new AmqpTransporter({
  amqpURL: 'amqp://guest:guest@localhost:5672'
}));

Create a microservice for mathematical calculations and implement some remote methods.

var server = bo.server('amqp', {
  name: 'mathOperations'
});
 
server.on('sum', function (a, b, cb) {
  cb(null, a + b);
});
 
server.on('factorial', function (n, cb) {
  var f = 1;
  for (var i = 2; i <= n; i++) {
    f *= i;
  }
  cb(null, f);
});

Create a client for the math microservice and call some of its remote methods.

var client = bo.client('amqp', {
  name: 'mathOperations'
});
client.register(['sum', 'factorial']);
 
var Math = client.methods;
 
Math.sum(12, 2, function (err, sum) {
  console.log(sum);
});
 
Math.factorial(10, function (err, result) {
  console.log(result);
});

License

The MIT License (MIT)

Dependencies (1)

Dev Dependencies (2)

Package Sidebar

Install

npm i bograch

Weekly Downloads

2

Version

0.0.18

License

MIT

Last publish

Collaborators

  • zkochan