2016-03-25 103 views
-1

有人可以使用node.js本地羣集爲我做一個代碼示例嗎?Node.js羣集示例

可以說我有這段代碼,並希望每個'X'在我的核心之間保持平衡,我該怎麼做?

var y = {}; 
var i = 0; 
var X = require('x.js'); 

wss.on('connection', function(ws) { 

console.log("client connected sucessfully"); 

    ws.on('message', function(obj) { 
     for(var a = 0; a < 100; a++){ 
      y[i] = new X(); 
      i++; 
     } 
    }); 
}); 

回答

1

在節點集羣documentation page上有一個很好的例子。總之,您想使用cluster.fork()創建一個新的工作人員。工人將執行掌握做同樣的代碼,所以你的例子會變成這樣的事情:

var y = {}; 
var i = 0; 
var X = require('x.js'); 
if (cluster.isMaster) { 
    for (var worker_num = 0; worker_num < 10; worker_num++) { 
    cluster.fork(); 
    } 
} else { 
    wss.on('connection', function(ws) { 
    console.log("client connected sucessfully"); 
     ws.on('message', function(obj) { 
     for(var a = 0; a < 100; a++){ 
      y[i] = new X(); 
      i++; 
     } 
    }); 
    }); 
} 

然而在現實中,你將需要比這更多的方式。你會想要自動重啓工作,心跳等功能,所以編寫好的集羣管理代碼本身就是一項重大任務。我建議使用一些現成的解決方案pm2service-runner

+0

哦我沒有提到它,websocket不應該被拆分。所以應該只有一個websocket服務器。 – FreeZe