더북(TheBook)

4.5 cluster

 

cluster 모듈은 싱글 스레드인 노드가 CPU 코어를 모두 사용할 수 있게 해주는 모듈입니다. 포트를 공유하는 노드 프로세스를 여러 개 둘 수도 있어 요청이 많이 들어왔을 때 병렬로 실행된 서버의 개수만큼 요청이 분산되게 할 수 있습니다. 서버에 무리가 덜 가게 되는 셈입니다. 예를 들어 코어가 8개인 서버가 있을 때, 노드는 보통 코어를 하나만 활용합니다. 하지만 cluster 모듈을 설정하여 코어 하나당 노드 프로세스 하나가 돌아가게 할 수 있습니다. 성능이 꼭 8배가 되는 것은 아니지만 코어를 하나만 사용할 때에 비해 성능이 개선됩니다. 하지만 장점만 있는 것은 아니며, 세션을 공유하지 못하는 등의 단점도 있습니다. 이는 Redis 등의 서버를 도입하여 해결할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.