GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Node.js / Modul Cluster Melewati Koneksi Baru Dari Proses Master / Induk, Ke Proses Anak?

Bagaimana tepatnya ini bekerja di bawah tenda / di tingkat OS (terutama dalam implementasi Unix / dari perspektif API soket)?

Dokumentasi modul cluster mengatakan:

“proses master mendengarkan pada port, menerima koneksi baru dan mendistribusikannya ke seluruh pekerja secara round-robin”

Apakah ini berarti proses master sendiri yang menangani/memanggil accept() pada koneksi masuk, dan kemudian meneruskan deskriptor soket yang dikembalikan ke proses anak pra-cabang melalui beberapa mekanisme IPC (soket domain Unix?), di mana itu mungkin terdaftar dengan lokal ( untuk proses itu) mekanisme multiplexing (misalnya instance epoll)?

Saya mencoba untuk mendapatkan pemahaman yang lebih baik tentang cara kerja bagian dalam Node.js, tetapi tidak dapat menemukan banyak info pasti di level ini. Bantuan apa pun sangat dihargai.

Terima kasih

Jawaban yang Diterima:

Lihat child.send() dalam modul nodejs child_process. Singkatnya, Anda melakukan:

child.send('socket', socket);

Dimana 'socket' adalah nama pesan khusus dan Anda mengirim referensi ke objek soket nodejs. Nodejs kemudian menangani hal-hal di bawah selimut dalam modul child_process untuk mengirimkan pegangan soket OS yang sebenarnya ke proses anak dan kemudian menghubungkan objek soket nodejs baru ke sana di ujung yang lain.

Dan, inilah referensi ke artikel tentang topik:Mengirim soket ke proses bercabang di Node.JS.


Linux
  1. Proses Induk Baru Ketika Proses Induk Meninggal?

  2. Mengapa Proses Pgid Anak Bukan Pid Orang Tua?

  3. Bagaimana Siklus Hidup Proses Linux Bekerja – Proses Induk, Anak, dan Init

  1. Cara mendapatkan proses anak dari proses induk

  2. Bagaimana systemd menangani kematian anak dari proses yang dikelola?

  3. Bagaimana cara memaksa Linux untuk mendapatkan kembali alamat IP baru dari server DHCP?

  1. Linux – Bagaimana Pembunuh Oom Memutuskan Proses Mana Yang Harus Dibunuh Pertama?

  2. Linux – Bagaimana Cara Memeriksa Informasi Struktur Direktori File Unix/linux?

  3. Bagaimana cara menghitung penggunaan CPU dari suatu proses oleh PID di Linux dari C?