مازالت بعض اللغات لاتقدم دعماً جيداً يسمح لك بالإستفادة من المعالجات المتعدد الأنوية ولكن وحدة Cluster في Node.js تسمح لك أن تنشأ مجموعة من العمليات لكل نواة بحيث يساعد هذا الشيء على توزيع الأداء والضغط على عمليات مختلفة بدل أن يتم التركيز على عملية واحدة فقط.

يوجد مثال بسيط في الصفحة التالية يقوم بإنشاء عدة عمليات مختلفة من نفس البرنامج وهو مرتبط بعدد الأنوية في جهازك، فمثلاً لو كانت جهازك رباعي النواة سوف تلاحظ ظهور أربع عمليات وهلم جرا:

http://nodejs.org/api/cluster.html

انا قمت بتعديل بسيط على الشفرة لتطبع كل عملية جديدة رقم العملية:

var cluster = require('cluster');
var http = require('http');
var numOfCpus = require('os').cpus().length;

if(cluster.isMaster)
{
    for(var i =0; i < numOfCpus; i++)
    {
        cluster.fork();
    }

    cluster.on('fork',function(worker){

        console.log('a new process was forked: '+worker.process.pid);

    })

    cluster.on('exit',function(worker, code, signal){

        console.log('worker '+ worker.process.pid + 'died');

    });
}
else
{

    http.createServer(function(req,res){

    res.writeHead(200);
    res.end('Hello world\n');


    }).listen(80);

}