Node.js: Uw code op meerdere CPU-cores draaien

Deze documentatie maakt deel uit van de Aan de slag-gids. Bekijk de volledige gids hier: Leer hoe u snel en veilig een Node.js-service op Stackhero uitrolt.

👋 Welkom bij de documentatie van Stackhero!

Stackhero biedt een kant-en-klare Node.js cloud oplossing die tal van voordelen biedt, waaronder:

  • Implementeer uw applicatie in seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
  • Geniet van gemoedsrust met automatische back-ups, updates met één klik, en eenvoudige, transparante en voorspelbare prijzen.
  • Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Node.js cloud hosting oplossing van Stackhero te proberen!

Standaard gebruikt Node.js één core en één thread. Wilt u alle beschikbare CPU-cores benutten, gebruik dan de Node.js cluster API. De officiële documentatie vindt u hier: https://nodejs.org/api/cluster.html.

Hieronder een eenvoudig voorbeeld dat een HTTP-server op alle beschikbare CPU's start:

const cluster = require('cluster');
const http = require('http');
const cpusCount = require('os').cpus().length;

if (cluster.isMaster) {
  console.log(`Master ${process.pid} is running`);

  // Fork workers
  for (let i = 0; i < cpusCount; i++) {
    cluster.fork();
  }

  cluster.on('exit', (worker, code, signal) => {
    console.log(`Worker ${worker.process.pid} died`);
  });
} else {
  // Workers delen elke TCP-verbinding, in dit geval een HTTP-server
  http.createServer((req, res) => {
    res.writeHead(200);
    res.end('hello world\n');
  }).listen(8000);

  console.log(`Worker ${process.pid} started`);
}