1
以下代碼片段拋出錯誤。有沒有辦法實現以下功能?如果不是爲什麼無法在nodejs cluster master中創建服務器實例?如何在nodejs集羣中的master中創建服務器實例? (在工作人員和主人)
var cluster = require('cluster');
var http = require('http');
if (cluster.isMaster) {
var numCPUs = require('os').cpus().length;
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
// How to create server instance in master?
// It is throwing error when I create server like below.
http.Server(function(req, res) {
res.writeHead(200);
res.end("hello worlddddd\n");
}).listen(8000);
} else {
http.Server(function(req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
}
你爲什麼需要它?如果你有4個步驟,主進程將創建4個工人。另一個「切斷器」是無用的 – Radar155
我的疑惑是如果我有4個內核,那麼將會創建4個工作者。那麼什麼是「大師」呢?如果我們在像事件處理程序這樣的主人上執行任何操作,那麼它將如何執行?例如,我有一個四核系統。當我控制檯登錄處理器ID時,4個內核有4個PID,而且還有一個PID用於主控。 「Master」來自哪裏如果我只有4個內核(那麼我將擁有5個實例如果我認爲「Master」,但我只有4個內核)。 –
您需要一個主流程來分流您的流程。如果你有4個核心,那麼你將有5個進程,但是第一個進程,主進程將永遠不會做任何事情。你只需要在開始時使用它。而對於你的操作系統來說,擁有4個核心和5個分區(其中一個是主分區)不是問題。 – Radar155