Структурирование большого приложения с кластером? - PullRequest
0 голосов
/ 13 июня 2018

Я недавно пытался кластеризовать мое приложение nodejs без использования PM2.Это, однако, оказалось немного утомительным, так как не существует «золотого стандарта» того, как управлять большей кодовой базой при использовании модуля кластера.

Например, многие учебные пособия дают следующую структуру о том, как реализоватьмодуль кластера (пример упрощен) :

const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
  console.log(`Master ${process.pid} is running`);

  // Fork workers
  for (let i = 0; i < numCPUs; i++) {
    cluster.fork();
  }
} else {
  // ALL code goes HERE?
  http.createServer().listen(8000);
}

Если я хочу определить экспресс-маршруты или настроить сервер socket.io (это могут быть сотни строк), например,Не стоит ли мне помещать все это в оператор else (где cluster.isWorker равно true), не так ли?

...