Node.js 아키텍처 깊이 파기
V8 엔진과 libuv의 관계
node.js는 크게 두 부분으로 구성됩니다.
- V8 Javascript 엔진: Javascript 코드 실행
- libuv: 이벤트 루프, 파일 시스템, 네트워킹 등 시스템 레벨 기능
console.log('Hello World');
const fs = require('fs'); fs.readFile('./data.txt', (err, data) => { console.log('File read complete'); });
싱글 스레드의 진실
Node.js가 “싱글 스레드”라고 하지만, 정확히는:
- 메인 스레드: JavaScript 코드 실행 (싱글 스레드)
- 스레드 풀: I/O 작업 처리 (멀티 스레드)