패스잇
백엔드 개발 · 심화

Node.js의 Cluster 모듈과 PM2의 차이점, 그리고 로드 밸런싱 알고리즘별 특성을 비교하여 설명해주세요.

힌트 · Cluster는 내장 모듈로 기본 기능 제공, PM2는 고급 프로세스 관리와 모니터링 기능을 추가로 제공합니다.

Cluster 모듈PM2프로세스 관리로드 밸런싱세션 유지

모범답안

Node.js의 Cluster 모듈과 PM2는 모두 Node.js 애플리케이션의 확장성과 안정성을 높이는 데 사용됩니다.

Cluster 모듈은 Node.js 내장 모듈로, 싱글 스레드인 Node.js 프로세스를 여러 개 복제하여 멀티 코어 CPU를 활용할 수 있게 해줍니다. 기본적인 로드 밸런싱 기능(라운드 로빈)을 제공하지만, 프로세스 관리나 모니터링 기능은 제한적입니다.

반면 PM2는 Node.js 애플리케이션을 위한 프로세스 관리자입니다. Cluster 모듈의 기능을 포함하면서, 자동 재시작, 로깅, 모니터링, 배포 자동화 등 더 많은 기능을 제공합니다. PM2를 사용하면 애플리케이션의 무중단 배포와 안정적인 운영이 가능합니다.

로드 밸런싱 알고리즘은 여러 종류가 있는데, 대표적으로 라운드 로빈, 가중 라운드 로빈, IP 해시 등이 있습니다. 라운드 로빈은 요청을 순서대로 분배하고, 가중 라운드 로빈은 서버의 성능에 따라 가중치를 부여하여 분배합니다. IP 해시는 클라이언트 IP 주소를 기반으로 특정 서버에 요청을 할당하여 세션 유지가 필요한 경우에 유용합니다. 각 알고리즘은 애플리케이션의 특성과 요구사항에 따라 선택해야 합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Node.js 면접 질문

← Node.js 면접 질문 전체 보기