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