더북(TheBook)

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번 워커 실행
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.