Node.js 集群进程 模块
示例
运行代码三次,第一次作为主进程,然后作为子进程var cluster = require('cluster');
if (cluster.isWorker) {
console.log('我是一个子进程');
} else {
console.log('我是一个主进程');
cluster.fork();
cluster.fork();
}
运行示例 »
定义和用法
cluster 模块提供了一种创建子进程的方法,这些子进程可以同时运行并共享同一个服务器端口。
Node.js 运行单线程编程,这非常节省内存,但为了利用计算机的多核系统,Cluster 模块允许您轻松创建子进程,每个子进程都在其自己的单线程上运行,以处理负载。
语法
在您的应用程序中包含 cluster 模块的语法
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 | 设置或获取调度策略 |
send() | 向主进程或子进程发送消息 |
settings | 返回一个包含集群设置的对象 |
setupMaster() | 更改集群的设置 |
worker | 返回当前的子进程对象 |
workers | 返回主进程的所有子进程 |