> В чем заключается принцип работы кластеров Node.js и как они помогают масштабированию приложения (JavaScript)

Уровень: senior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы

Компании: ESoft

Стек: Node.js, JavaScript

> Пример ответа

Кластеры Node.js позволяют запускать несколько процессов (воркеров) одного приложения, используя модуль cluster. Основная идея - обойти ограничение однопоточности Node.js, задействуя все ядра процессора. Главный процесс (мастер) распределяет входящие соединения между воркерами, которые разделяют один и тот же порт сервера. Это обеспечивает горизонтальное масштабирование: приложение обрабатывает больше запросов параллельно, повышая пропускную способность и отказоустойчивость. Если один воркер падает, мастер может создать новый, не прерывая работу остальных. Пример:

JAVASCRIPT
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker) => {
console.log(`Worker ${worker.process.pid} died`);
cluster.fork();
});
} else {
http.createServer((req, res) => {
res.writeHead(200);
res.end('Hello from worker');
}).listen(8000);
}

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью