Какая разница с childprocess.fork между cluster.fork

Простой вопрос: какая разница с child_process.fork между cluster.fork

деталь:

  • Могу передать аргументы в файл cluster.fork

  • Можно ли прослушивать один и тот же порт или unixsock для создания ChildProcess by child_process.fork

Ответ 1

Прочтите документы: child_process.fork vs cluster.fork.

Разница между cluster.fork() и child_process.fork() заключается в том, что кластер позволяет совместно использовать TCP-серверы между рабочими. cluster.fork выполняется поверх child_process.fork.

http://nodejs.org/api/cluster.html


1. я могу передать аргументы cluster.fork

Не соответствует документам и:

> var cluster = require('cluster')
undefined
> cluster
{ isWorker: false,
  isMaster: true,
  fork: [Function],
  _startWorker: [Function],
  _getServer: [Function] }
> cluster.fork.length
0

(a функция length - это число формальных параметров). Вместо этого используйте сообщение.

2. могу ли я прослушивать один и тот же порт или unixsock для создания ChildProcess by child_process.fork

Предположительно да, поскольку cluster.fork реализуется поверх child_process.fork. Однако есть причина, что cluster.fork уже существует, если вы хотите прослушивать один и тот же порт.