javascript Node.js群集示例

6l7fqoea  于 2023-02-11  发布在  Java
关注(0)|答案(1)|浏览(162)

有人能为我做一个使用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++;
        }
    });
});
llmtgqce

llmtgqce1#

在节点集群documentation page上有一个很好的例子,简而言之,你想使用cluster.fork()来创建一个新的worker,这个worker将执行与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++;
        }
     });
  });
}

然而实际上你需要的远不止这些。你需要自动工作重启、心跳等特性,所以编写好的集群管理代码本身就是一项艰巨的任务。我建议使用一些现成的解决方案pm2service-runner

相关问题