KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

노드(Node.js)

연결된 노트와 함께 읽기

노드(Node.js)

2026년 5월 17일
  • Node.js는 크롬 V8 지비스크립트 엔진으로 빌드된 자바스크립트 런타임(runtime)이다.

  • Node와 같이 타입스크립트는 dino라는 런타임이 있다.

  • 또한 노드의 경우 위에서부터 아래로 실행되기 때문에 미들웨어(Middleware)와 같은 로직을 처리할 시에 순서가 중요하다.

노드는 서버인가?

  • 엄밀히 따지면 노드 자체는 서버가 아니나 서버의 역할도 수행할 수 있는 런타임(runtime)이다.
  • 노드로 자바스크립트로 작성된 서버를 실행할 수 있다.
  • 서버 실행을 위해 필요한 http/https/http2 모듈을 제공한다.

내부 구조

  • 자바스크립트 내부 언어는 C나 C++로 쓰여져 있다.

ilbuv

  • ilbuv 덕분에 싱글스레드이면서 비동기(asynchronous) 모델을 채택했기 때문에 엄청나게 빠른 성능을 빠르게 만들어주었다.

노드 서버의 장단점

장점

  • 멀티스레드 방식에 비해 컴퓨터 자원을 적게 사용한다.
  • I/O 작업이 많은 서버로 적합하다.
  • 멀티 스레드 방식보다 쉽다.
  • 웹 서버가 내장되어 있다.
  • 자바스크립트를 사용한다.
  • JSON(Java Script Object Notation) 형식과 호환하기 쉽다.

단점

  • 싱글 스레드라서 CPU 코어를 하나만 사용한다.

  • CPU 작업이 많은 서버로는 부적합하다.

  • 하나뿐인 스레드가 멈추기 않도록 관리해야 한다.

  • 서버 규모가 커졌을 때 서버를 관리하기 어렵다.

  • 어중간한 성능을 나타낸다.

  • 따라서 CPU 작업을 위해 AWS Lambda나 Google Cloud Functions 같은 별도 서비스를 사용한다.

  • 페이팔, 넷플릭스, 나사, 월마트, 링크드린, 우버 등에서 메인 또는 서브 서버로 사용한다.

Synapse Map Insight