0

誰かが 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++;
        }
    });
});
4

1 に答える 1

1

ノード クラスタのドキュメント ページに良い例があります。つまり、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++;
        }
     });
  });
}

ただし、実際にはそれ以上の方法が必要です。ワーカーの自動再起動、ハートビートなどの機能が必要になるため、適切なクラスター管理コードを作成すること自体が大きな作業になります。私はいくつかの既製のソリューションpm2またはservice-runnerを使用することをお勧めします

于 2016-03-25T18:27:06.900 に答える