nodejs多進程基本知識


1. 創建多進程的模塊

1.1 child_process
1.2 cluster

2. 創建多進程的方法

2.1 child_process有4種方法:

1. spawn: 創建子進程,執行非node程序,執行結果以流形式返回
2. execFile: 創建子進程,執行非node程序,執行結果以回調返回
3. exec: 創建子進程,執行shell命令,執行結果以回調返回,可以直接執行一串shell命令
4. fork: 創建子進程,執行node程序,執行結果以流返回

2.2 cluster有1種方法:

cluster.fork:創建一個子進程

3. nodejs多進程模型

nodejs的多進程是master-work模式,一個主進程中,創建出多個子進程

4. 進程間消息傳遞

通過on('message')監聽和send分發

5. 多個work監聽同一個端口

nodejs中的多個work進程可以同時監聽同一個端口。具體實現方式,child_process和cluster有區別。

5.1 child_process方式

child_process通常在master進程中創建socket或server,通過send方法將socket或server,發送到worker進程,在worker進程中同時監聽一個端口

5.2 cluster方式

cluster通過cluster.isMaster和cluster.isWorker來區分主進程和worker進程,在worker進程中,可以直接啟動server,來監聽同一個端口

cluster主要是提供了對多個子進程的管理,子進程的創建、退出和重啟,可以方便的進行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM