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主要是提供了对多个子进程的管理,子进程的创建、退出和重启,可以方便的进行。

posted @ 2020-04-29 15:58  全玉  阅读(983)  评论(0编辑  收藏  举报