Node.js Cluster /span> 集群模块
实例
代码运行3次,第一次是master,然后是worker:
var cluster = require('cluster');
if (cluster.isWorker) {
console.log('I am a worker');
} else {
console.log('I am a
master');
cluster.fork();
cluster.fork();
}
运行实例 »
定义和用法
cluster 集群模块提供了一种创建同时运行并共享同一服务器端口的子进程的方法。
Node.js 运行单线程编程,非常节省内存,但为了利用计算机多核系统,Cluster 模块允许您轻松创建每个运行在自己的单线程上的子进程,以处理加载。
语法
The syntax for including the cluster module in your application:
var cluster = require('cluster');
Cluster 属性和方法
方法 | 描述 |
---|---|
disconnect() | 断开所有工作人员的连接 |
exitedAfterDisconnect | 如果worker在断开连接后退出,则返回true,或者kill方法 |
fork() | 从 master 创建一个新的 worker |
id | 工作人员的唯一 ID |
isConnected | 如果worker连接到它的master,则返回true,否则返回false |
isDead | 如果worker的进程已死,则返回true,否则返回false |
isMaster | 如果当前进程是master,则返回true,否则返回false |
isWorker | 如果当前进程是worker,则返回true,否则返回false |
kill() | 杀死当前工作进程 |
process | 返回全局子进程 |
schedulingPolicy | 设置或获取调度策略 |
send() | 向 master 或 worker 发送消息 |
settings | 返回一个包含集群设置的对象 |
setupMaster() | 更改集群的设置 |
worker | 返回当前工作对象 |
workers | 返回一个master的所有worker |