
35
1
장
익스프레스 소개
1.5
노드: 새로운 웹 서버
노드는 마이크로소프트의 인터넷 정보 서비스
Internet
Information
Services
(
IIS
)나 아파치
Apache
같은 기
존의 웹 서버와 비슷한 점이 많습니다. 하지만 보통은 차이점이 더 흥미로운 법이죠. 차이점부
터 시작합시다.
익스프레스와 마찬가지로 노드 역시 최소한의 웹 서버를 목표로 개발됐습니다.
IIS
나 아파치는
마스터하려면 몇 년의 시간이 필요할 수도 있지만, 노드는 설치하고 설정하기 쉽습니다. 물론
실무 환경에서 노드 서버가 최대한의 성능을 발휘하도록 설정하는 것이 쉽다는 건 아닙니다.
그저 설정 옵션이 더 단순하고 간단하게 만들어져 있다는 뜻입니다.
노드와 전통적인 웹 서버의 중요한 차이 중에는 노드가 싱글 스레드를 사용한다는 것도 있습니
다. 언뜻 보면 퇴보한 것으로 보일 수도 있지만 알고 보면 무척 영리한 결정이었습니다. 단일
스레드는 웹 앱을 만드는 작업을 단순화하며, 앱에서 멀티 스레드 성능이 필요하다면 노드 인
스턴스를 늘리기만 해도 멀티 스레드의 성능을 누릴 수 있습니다. 현명한 독자라면 눈속임처럼
들린다고 생각할 수도 있습니다. 결국 서버 병렬화를 통해 멀티 스레드를 모방한다는 것은 복
잡함을 없애는 게 아니라 단순히 옆으로 치웠을 뿐이니까요. 하지만 필자가