2016-03-25 8 views
-1

Kann jemand ein Codebeispiel für mich tun node.js Eingeborenen Cluster mit?Node.js Cluster Beispiel

Lets sagen, dass ich diesen Code und will jeden ‚X‘ zwischen meinen Adern ausgeglichen werden, wie würde ich das tun?

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++; 
     } 
    }); 
}); 

Antwort

1

Es gibt ein gutes Beispiel für den Knotencluster documentation page. Kurz gesagt, Sie möchten cluster.fork() verwenden, um einen neuen Arbeiter zu erstellen. Der Arbeiter wird den gleichen Code ausführen, die nicht beherrscht, so dass Ihr Beispiel so etwas wie dies werden würde:

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++; 
     } 
    }); 
    }); 
} 

jedoch in Wirklichkeit würden Sie brauchen viel mehr als das. Sie möchten Funktionen wie automatische Worker-Neustarts, Heartbeats usw., so dass das Schreiben eines guten Cluster-Verwaltungscodes eine große Aufgabe darstellt. Ich schlage vor, mit etwas fertig Lösung pm2 oder service-runner

+0

oh Ich habe es nicht erwähnt, sollte die websocket nicht gesplittet werden. Es sollte also nur einen Websocket-Server geben. – FreeZe