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 Stackhero-documentatie!
Stackhero biedt een kant-en-klare Node.js cloud omgeving waarmee u sneller kunt werken:
- Zet uw applicatie in productie in enkele seconden met een simpele
git push. Geen extra tools of handmatige configuratie nodig.- Gebruik uw eigen domein en profiteer van automatische HTTPS-certificaten, zodat uw applicatie veilig is zonder extra instellingen.
- Automatische back-ups, one-click updates en voorspelbare prijzen zorgen ervoor dat u zich kunt richten op het ontwikkelen van features, terwijl Stackhero de infrastructuur voor u beheert.
- Gebouwd op private, dedicated infrastructuur voor consistente prestaties en sterke beveiliging.
Bespaar tijd en verminder operationele lasten: uw applicatie draait binnen enkele minuten op Stackhero's Node.js cloud hosting.
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`);
}