Node.js Cluster 程序 模組
示例
執行三次程式碼,第一次作為主程序,然後作為工作程序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 | 返回全域性 Child Process 物件 |
schedulingPolicy | 設定或獲取 schedulingPolicy |
send() | 將訊息傳送給主程序或工作程序 |
設定 | 返回包含 cluster 設定的物件 |
setupMaster() | 更改 cluster 的設定 |
worker | 返回當前工作程序物件 |
workers | 返回主程序的所有工作程序 |