1. 개념 요약

Node.js는 브라우저 밖에서 JavaScript를 실행할 수 있게 해주는 런타임이다.

싱글 스레드 기반이지만, 이벤트 루프비동기 I/O 구조 덕분에 고성능 처리가 가능하다.

핵심 개념은 다음과 같다:


2. 배경 지식

왜 이벤트 루프가 필요한가?

JavaScript는 기본적으로 동기(Synchronous) 언어이며 싱글 스레드로 동작함.

동기적으로 무거운 작업을 처리할 경우, 전체 프로그램이 블로킹됨.

이를 해결하기 위해 Node.js는 다음과 같은 아키텍처를 사용한다:


3. 상세 설명

(1) Node.js의 아키텍처

┌────────────────────┐
│   Node.js (JS 코드)│
│  ├─ Core Library   │
│  ├─ Bindings       │
│  └─ V8 Engine      │
└────────▲───────────┘
         │
         ▼
┌────────────────────────────┐
│   libuv (C++ 기반)         │
│   → 이벤트 루프, I/O 처리   │
└────────────────────────────┘