MostlyJS is a toolkit to develop distributed microservices in a mostly simple way. It uses NATS as the internal communication system for both service discovery and load balancing. NATS is fast and reliable, and is able to handle millions of request per second.
MostlyJS is targeting breaking current Monolith API application into small services that running on the network transparent to you without knowing where the service physical located.
It provides well integration with existing node frameworks so that you can change a few code to convert your RESTfull api into microservices.
- Express with express-gateway
- Feathers with mostly-feathers and mostly-feathers-rest
- Poplarjs with mostly-poplarjs and mostly-poplarjs-rest
Integration with Koa and Hapi is also planned.
Please see the documentation site.
npm install nats --save
npm install mostly-node --save
https://nats.io/documentation/tutorials/gnatsd-install
var mostly = require('mostly-node')()
// register the service
mostly.add({ topic: 'sample', cmd: 'math' }, function (msg, done) {
var rate = 0.13;
var total = msg.foo * (1 + rate);
done(null, { total: total });
});
// call the service
mostly.act({ topic: 'sample', cmd: 'math', foo: 100 }, function (err, result) {
console.log(result.total);
});
MIT