Node.js Cluster 进程模块

实例

将代码运行三次,第一次作为主代码,后面两次作为子进程工作代码:

  1. var cluster = require('cluster');
  2. if (cluster.isWorker) {
  3. console.log('I am a worker');
  4. } else {
  5. console.log('I am a master');
  6. cluster.fork();
  7. cluster.fork();
  8. }

定义与用法

cluster 模块提供了一种创建同时运行并共享同一服务端口的子进程的方法。

Node.js 运行单线程编程,这非常节省内存,但为了利用计算机的多核系统,集群模块允许您轻松创建子进程,每个子进程在各自的单线程上运行,以处理负载。


语法

在应用程序中包含群集(cluster)模块的语法:

  1. var cluster = require('cluster');

Cluster 属性和方法

方法描述
disconnect()断开所有子进程的连接
exitedAfterDisconnect如果子进程在断开连接后退出,或 kill 方法退出,则返回 true
fork()从主进程创建一个子进程
id子进程的唯一 id
isConnected如果子进程连接到其主进程,则返回 true,否则返回 false
isDead如果子工作进程已停止,则返回 true,否则返回 false
isMaster如果当前进程是主进程,则返回 true,否则返回 false
isWorker如果当前进程是子工作进程,则返回 true,否则返回 false
kill()杀掉当前进程
process返回全局子进程
schedulingPolicy设置或获取 schedulingPolicy
send()向主进程或子进程发送消息
settings返回包含群集(cluster)设置的对象
setupMaster()修改群集(cluster)设置
worker返回当前子进程的对象
workers返回一个主进程的所有子进程

分类导航