Micro-services framework for node.js
This module has the code usually used in node.js application to simplify creation of micro-services.
npm install srvc
var srvc = require('srvc');
spawns workers.
server.js:
var cluster = srvc.cluster
, worker = require('./worker');
cluster(worker, 4, 10); // spawns 4 workers and restarts up to 10 times if they exit
worker.js:
module.exports = function() {
var express = require('express')
, app = express();
app.get('/hello', function(req, res){
res.send('Hello World');
});
app.listen(3000);
console.log('worker', process.pid, 'listens on port 3000');
};
creates one redis client if redis is configured and simplifies creation of more clients
loads configuration based on host, environment and defaults.
uses nconf.
logs messages according to log level logger.js can be used in browser as is (with/without require.js).
var logger = new Logger(options);
logger.info('starting');
logger.debug('debugging');
logger.error('error');
logger.warning('!!!');
#####logger options#####
{
colors: true, // true by default in node/development, false in browser
level: 3,
enabled: true,
logPrefix: '', // (process.pid) by default in node,
logPrefixColor: 34 // blue
}
options can be set via logger instance.
logger.level = 1; // errors and warnings
The same methods can be used with Logger class. The last created instance will be used to log, if logger was never instantiated it will be created with default options.
#####log level#####
- 0 - errors
- 1 - + warnings
- 2 - + info
- 3 - + debug