Как Node.js / модуль кластера передает новые соединения из процесса master / parent, дочерних процессов?

Как именно это работает под капотом / на уровне ОС (прежде всего в реализациях Unix / с точки зрения API сокетов)?

Документация модуля кластера гласит:

«мастер-процесс прослушивает порт, принимает новые соединения и распределяет их по рабочим кругам»

Означает ли это, что только мастер-процесс обрабатывает / вызывает accept () при входящих подключениях, а затем передает возвращаемый дескриптор сокета в предварительно распавшийся дочерний процесс через некоторый механизм IPC (сокеты домена Unix?), Где он предположительно зарегистрирован локальным ( к этому процессу) механизм мультиплексирования (например, экземпляр epoll)?

Я пытаюсь лучше понять внутреннюю работу Node.js, но на этом уровне не может найти много определенной информации. Буду признателен за любую оказанную помощь.

благодаря

One Solution collect form web for “Как Node.js / модуль кластера передает новые соединения из процесса master / parent, дочерних процессов?”

См. child.send() в модуле childjprocess nodejs. В двух словах:

 child.send('socket', socket); 

Где 'socket' – это специальное имя сообщения, и вы отправляете ссылку на объект сокета nodejs. Затем Nodejs обрабатывает вещи под обложками в модуле child_process для отправки фактического дескриптора сокета ОС дочернему процессу, а затем подключает к нему новый объект сокета nodejs на другом конце.

И вот ссылка на статью на тему: Отправка сокета в раздвоенный процесс в Node.JS.

  • Почему sort -o полезен?
  • Что делает операционная система «Unix-Like»?
  • Является ли подкаталог / tmp подходящим местом для сокетов Unix?
  • Можно ли использовать сокет, если его файл доступен только для чтения?
  • Правильная обработка Python2 и Python3
  • Почему unix не может быть объектно ориентированным или, по крайней мере, организованным
  • Почему по умолчанию umask - 002 или 022 во многих Unix-системах? Кажется неубедительным по умолчанию
  • Расширение слова UNIX?
  • Кто или что скомпилировал / usr / share / dict / words?
  • Как реплицировать данные из / dev / log на несколько приемников rsyslog
  • Являются файлами UNIX для интернет-сокетов?
  • Linux и Unix - лучшая ОС в мире.