Задать вопрос
Dinfyru
@Dinfyru
web-developer

Как передать данные из одного процесса другому процессу на nodejs?

Зная pid процесса, запущенный с помощью child_process.exec, можно ли как то в любой момент передать объект с данными этому процессу и наоборот?

Сокеты использовать не могу, так как придётся нагружать мастер процесс, а его нужно максимально оградить от каких либо воздействий.
  • Вопрос задан
  • 1024 просмотра
Подписаться 5 Оценить Комментировать
Решения вопроса 1
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Как раз через сокеты можно передавать от одного дочернего процесса другому, а через child_process (и через cluster), т.е. через IPC (межпроцессовое взаимодействие) все будет идти только через мастер-процесс. Слушайте в каждом процессе UDP, это удобно, если нужно рассылать всем сразу, а если только конкретному процессу, то при форке дайте ему в параметры номер порта и откройте отдельный серверный TCP сокет в каждом воркере. Мастер процесс может прислать каждому воркеру соответствие между портами и pid (если это нужно), иначе можно просто знать, что порты идут, например, от 2000 до 2019 (т.е. их 20 штук открыто) и присылать на один из них.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@LiguidCool
ИМХО через БД.
Ответ написан
Stalker_RED
@Stalker_RED
https://ru.wikipedia.org/wiki/AMQP не ваш вариант? С очередями, шардингом и прочими плюшками искаропки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы