cluster.js
...
} else {
// 워커들이 포트에서 대기
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.write('<h1>Hello Node!</h1>');
res.end('<p>Hello Cluster!</p>');
setTimeout(() => { // 워커가 존재하는지 확인하기 위해 1초마다 강제 종료
process.exit(1);
}, 1000);
}).listen(8086);
console.log(`${process.pid}(번 워커 실행`);
}
요청이 들어올 때마다 1초 후에 서버가 종료되도록 했습니다. 이제 서버를 실행합니다. process.pid는 실행할 때마다 달라집니다. 각자 자신의 코어 개수에 맞게 워커가 실행되는지 확인해보세요.
콘솔
$ node cluster
마스터 프로세스 아이디: 21360
7368번 워커 실행
11040번 워커 실행
9004번 워커 실행
16452번 워커 실행
17272번 워커 실행
16136번 워커 실행