title: Is it a good practice to start http server on one port for Cluster forks for 1-3k requests per second?
body: <p>Is it a good way to create a high loaded server on node.js? 
  I need to start the high loaded (1-3k requests) http server to handle Post requests. As a backend i chosen node.js with express. 
  I have created one shared http server for all forked processes. 
  Locally tests gives me a result in 3.75 second per 3000 requests. </p>
  
  <pre><code>    const cluster = require('cluster');
      const port = 3000;
      var express = require('express');
      var cors = require('cors');
      var queryController = require('./controllers/queryController');
      var app = express();
      app.set('view engine', 'ejs');
      app.use(cors());
  
      if (cluster.isMaster) {
         const cpuCount = require('os').cpus().length;
         // Forking.
         for (let i = 0; i &lt; cpuCount; i++) {
             cluster.schedulingPolicy = cluster.SCHED_NONE;
             cluster.fork();
         }
         cluster.on('fork', (worker) =&gt; {
             console.log(Worker #${worker.id} is up!);
         });
         cluster.on('listening', (worker, address) =&gt; {
             worker.on('message', (msg)=&gt;{
             ...
             } );
         });
         cluster.on('disconnect', (worker) =&gt; {
             console.log(The worker #${worker.id} has disconnected);
         });
         cluster.on('exit', (worker) =&gt; {
             console.log(Worker ${worker.id} is dead);
             cluster.fork();
         });
      } else {
  //All forks listen 3000 port and each uses own controller to handle a requests
         queryController(app,cors);
         app.listen(port, function(){
         // console.log("Listening on port 3000!");
         });
         process.on('uncaughtException', (err) =&gt; {
             console.error(err.message);
             console.error(err.stack);
             process.exit(1);
         });
      }
  </code></pre>