有人可以使用node.js natives cluster为我做代码示例吗?
让我说我有这个代码,并希望每个' 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++;
}
});
});
答案 0 :(得分:1)
在节点集群documentation page上有一个很好的例子。简而言之,您希望使用cluster.fork()
来创建新工作程序。工作人员将执行与master相同的代码,因此您的示例将变为如下所示:
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++;
}
});
});
}
然而,实际上你需要更多的方式。您需要自动工作重启,心跳等功能,因此编写良好的集群管理代码本身就是一项重大任务。我建议使用一些现成的解决方案pm2或service-runner