Node.js: Ejecutar su código en varios núcleos de CPU
Esta documentación forma parte de la guía Primeros pasos. Consulte la guía completa aquí: Aprenda cómo desplegar un servicio Node.js en Stackhero de forma rápida y segura.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero le ofrece un entorno Node.js en la nube listo para usar, diseñado para ayudarle a avanzar más rápido:
- Despliegue en producción en segundos con un simple
git push. No necesita herramientas adicionales ni configuraciones manuales.- Utilice su propio dominio y benefíciese de certificados HTTPS automáticos, manteniendo su aplicación segura sin configuraciones extra.
- Copias de seguridad automáticas, actualizaciones con un solo clic y precios predecibles le permiten centrarse en desarrollar funcionalidades, mientras Stackhero gestiona la infraestructura por usted.
- Basado en infraestructura privada y dedicada para un rendimiento constante y una seguridad robusta.
Ahorre tiempo y reduzca la carga operativa: puede tener su aplicación funcionando en el hosting Node.js en la nube de Stackhero en solo unos minutos.
Por defecto, Node.js utiliza un solo núcleo y un solo hilo. Para aprovechar todos los núcleos de CPU disponibles, puede utilizar la API cluster de Node.js. Puede consultar la documentación oficial aquí: https://nodejs.org/api/cluster.html.
Aquí tiene un ejemplo sencillo que crea un servidor HTTP utilizando todos los CPUs disponibles:
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 {
// Los workers comparten cualquier conexión TCP, en este caso, un servidor HTTP
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}