해결됨
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
CPU 코어 갯수 만큼 워커를 생성할때 마스터 프로세스를 포함하지 않는 이유가 궁금합니다.
마스터 프로세스가 종료되면 워커들도 함께 강제 종료된다고 생각했습니다. 그래서 해당 코드에서 워커들을 실행한 후 마스터 프로세스의 작업이 마무리되면 프로세스도 종료될 것이라고 예상했습니다. 그러나 찾아본 결과, 마스터 프로세스는 워커들이 작업을 마무리할 때까지 대기하는 것으로 이해했습니다.그렇다면 마스터 프로세스가 하나의 코어를 사용하고 있다고 생각되는데, 워커들을 생성할 때 CPU 코어 수(numCPUs)만큼 생성하는 이유가 궁금합니다. 마스터 프로세스가 하나의 코어를 계속 점유하는 것은 아니라는 것은 알고 있지만, 코어 갯수만큼 워커를 만드는 것이 보편적이라고 들어서 질문드립니다.const cluster = require("cluster");
const http = require("http");
const numCPUs = require("os").cpus().length;
if (cluster.isMaster) {
// CPU 개수만큼 워커를 생산
for (let i = 0; i < numCPUs + 5; i += 1) {
cluster.fork();
}
} else {
// 워커들 실행
// ...
}