1.1.5 • Published 6 years ago

ful-ms-svr v1.1.5

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

Ful Microservice Server

A microservice server make microserivces with Ful Proxy Server discovery functionality nad proxy load balance.

npm

To install it in your proyect

npm install ful-ms-svr --save

Features

  • Microservice server structure to implement functionality from start.
  • Server side discovery registration with Ful Proxy Server

Quick start

const { server, registerServer, unregisterServer } = require('ful-ms-svr');
let port = 3000;
console.log(`Running from testing. ${process.pid}`);
server.port = port;
server.socketId = 'default';
server.registerServer = registerServer;
server.unregisterServer = unregisterServer;
server.discoveryHost = '127.0.0.1';
server.discoveryPort = 81;
server.run(port);

Quick start clustered environment

const cluster = require('cluster');
const processors = require('os').cpus();
let port = 3000;
if (cluster.isMaster) {
  const { server, registerServer, unregisterServer } = require('ful-ms-svr');
  server.port = port;
  server.discoveryHost = '127.0.0.1';
  server.discoveryPort = 81;
  server.socketId = 'default';
  server.unregisterServer = unregisterServer;
  registerServer().then(msg => {
    console.log(msg);
  }).catch(err => {
    console.log(`Error registering server. Code ${err.code} Call ${err.syscall} Address ${err.address} Port ${err.port}`);
  });;
  // Clustering servers
  cluster.schedulingPolicy = cluster.SCHED_RR;
  for (let processorId = 0; processorId < processors.length; processorId++) {
    cluster.fork();
  }

  cluster.on('exit', (worker, code, signal) => {
    setTimeout(() => {
      if (!worker.exitedAfterDisconnect) {
        console.log(`Worker ${worker.process.pid} exited. Launching new process.`);
        cluster.fork();
      }
    }, 500);
  });
} else {
  const { server } = require('ful-ms-svr');
  console.log(`Running from testing. ${process.pid}`);
  server.run(port);
}
1.1.5

6 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago