인프런 커뮤니티 질문&답변

이정우님의 프로필 이미지

작성한 질문수

Node.js 교과서 - 기본부터 프로젝트 실습까지

cluster로 멀티 프로세싱 하기

실제 서비스에서도 cluster를 사용하나요?

해결된 질문

작성

·

177

1

보통 EC2 인스턴스에 express와 같은 백엔드 서버를 띄우고 Traffic이 많이 발생할때 앞단에 로드밸런서를 붙여서 Traffic을 부하분산시킬수 있도록 EC2를 여러개 구성하거나 Auto Scaling 그룹을 생성하는 것으로 알고 있습니다.

그런데 강좌를 보고 생각해보니 EC2인스턴스에서도 싱글스레드인 node 백엔드이기 때문에  Core를 여러개 사용하지 않고 1개씩만 사용하기때문에 나머지 Core들이 놀고 있겠구나 하는 생각이 들었습니다.

만약에 Core가 2개인 EC2 인스턴스 2개를 로드벨런서를 통해 서비스를 한다고 가정했을때, 1개의 인스턴스에서 cluster를 통해 cpu를 multi core로 활용한다고 한다면 성능상 비슷할까요? 또 실제로 cluster를 사용해서 node 서비스를 띄우는지도 궁급합니다. ㅎ :) 

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

코어가 여러 개인 경우 클러스터를 코어 숫자에 맞춰서 늘리면 남는 코어 없이 모두 활용할 수 있습니다. 싱글코어 인스턴스만 쓰는 게 아니라면 클러스터링 해두는 것이 좋습니다. 다만 코어가 2개라고 해서 클러스터링을 한다고 성능이 2배가 되진 않습니다.

저는 근데 웬만하면 코어1개인 인스턴스를 여러 개 로드밸런싱하는 방식을 많이 사용합니다.

0

이정우님의 프로필 이미지
이정우
질문자

아하, 답변 되었습니다~! 감사합니다. ㅎㅎ