← 테크곳간 목록으로

NAVER Pay Dev Blog - Medium · 2025. 06. 17.

Node.js가 싱글스레드 서버라는 미신(feat. Node.js의 대용량 데이터 처리)

AI 엔지니어링 브리핑

Node.js는 자바스크립트를 한 메인 스레드에서 실행하지만, 오래 걸리는 작업은 다른 스레드에 맡겨 동시에 여러 요청을 처리하는 구조입니다.

문제 & 배경

문제 & 배경: Node.js를 단순히 싱글스레드 서버라고만 이해하면, 외부 요청이나 파일·데이터베이스 작업을 기다리는 동안에도 서버가 멈추지 않는 이유를 설명하기 어렵습니다.

기술 & 해결책

기술 & 해결책: Node.js는 이벤트 루프가 있는 메인 스레드에서 자바스크립트를 실행하고, 오래 걸리는 입출력 작업은 libuv의 워커 스레드에 맡겨 메인 스레드가 다른 요청을 계속 처리하도록 합니다.

교훈 & 주의점

교훈 & 주의점: 개발 관점에서는 자바스크립트 실행이 주로 한 스레드에서 이뤄지지만, 내부적으로는 멀티스레드 요소를 활용하며 Node.js 12부터는 worker_threads로 개발자가 직접 병렬 작업도 구현할 수 있습니다.

원문 읽기 ↗
내용이 비슷해요

내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.