Node.js - clusterprocesmodule
Voorbeeld
Voer de code drie keer uit, de eerste keer is als master en vervolgens als 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();
}
Definitie en gebruik
De clustermodule biedt een manier om onderliggende processen te creëren die gelijktijdig worden uitgevoerd en dezelfde serverpoort delen.
Node.js voert single-threaded programmering uit, wat zeer geheugenefficiënt is, maar om te profiteren van multi-core systemen van computers, stelt de Cluster-module u in staat om eenvoudig onderliggende processen te creëren die elk op hun eigen enkele thread draaien, om de belasting aan te kunnen.
Syntaxis
De syntaxis voor het opnemen van de clustermodule in uw toepassing:
var cluster = require('cluster');
Clustereigenschappen en methoden
Method | Description |
---|---|
disconnect() | Disconnects all workers |
exitedAfterDisconnect | Returns true if a worker was exited after disconnect, or the kill method |
fork() | Creates a new worker, from a master |
id | A unique id for a worker |
isConnected | Returns true if the worker is connected to its master, otherwise false |
isDead | Returns true if the worker's process is dead, otherwise false |
isMaster | Returns true if the current process is master, otherwise false |
isWorker | Returns true if the current process is worker, otherwise false |
kill() | Kills the current worker |
process | Returns the global Child Process |
schedulingPolicy | Sets or gets the schedulingPolicy |
send() | sends a message to a master or a worker |
settings | Returns an object containing the cluster's settings |
setupMaster() | Changes the settings of a cluster |
worker | Returns the current worker object |
workers | Returns all workers of a master |