Node.js: Kodo vykdymas keliuose CPU branduoliuose
Ši dokumentacija yra Pradžia vadovo dalis. Visą vadovą rasite čia: Sužinokite, kaip greitai ir saugiai diegti Node.js paslaugą Stackhero platformoje.
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Node.js cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Įdiekite savo programą per kelias sekundes su paprastu
git push.- Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu, kad padidintumėte saugumą.
- Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
- Gaukite optimalią veikimo ir tvirtą saugumą dėka privačios ir dedikuotos VM.
Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Node.js cloud hosting sprendimą užtrunka tik 5 minutes!
Pagal nutylėjimą Node.js naudoja vieną branduolį ir vieną giją. Norėdami išnaudoti visus CPU branduolius, galite naudoti Node.js cluster API. Oficialią dokumentaciją rasite čia: https://nodejs.org/api/cluster.html.
Štai paprastas pavyzdys, kuris sukuria HTTP serverį, naudojantį visus prieinamus CPU:
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 dalinasi bet kokiu TCP ryšiu, šiuo atveju – HTTP serveriu
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}