본문 바로가기

Nodejs

Nodejs 장 단점

Nodejs

Nodejs ?

  • Nodejs란 구글의 크롬 V8 자바스크립트 엔진을 기반으로 한, 고성능 네트워크 서버.
  • Single Thread 기반 Event Loop를 기반, File, Network 등에 비해서 비동기 IO처리를 하는 서버 미들웨어.

장점

  • Single Thread기반의 비동기 IO 처리(JavaScript 자체가 멀티쓰레드 존재X)
  • 비동기 처리로인하여 FileIO나 Network 처리(데이터베이스 접근)등이 있을 경우, IO요청이 끝나면 이벤트를 받아서 처리하는 이벤트 방식을 사용(비동기 방식이다). 하나의 Thread로 여러개의 요청을 처리하는 구조로 되어 있기 때문에, CLOK 문제를
    처리할 수 있는데 최적화.
  • 프론트엔드에서의 Javascript 통일성 -> 생산성 증가.
  • 프론트 엔드에서 백엔드의 영역으로의 진입장벽 감소.

단점

  • Single Thread 기반이므로 하나의 작업이 시간이 오래걸리면 시스템 전체 성능 급저하.
  • Javascript의 문제 -> 자바나 다른언어에비해 가독성이 떨어짐 / Callback 중첩 -> Callback Hell 초래.
  • V8엔진은 Garbage Collection을 사용 -> GC시, CPU사용률이 최고치 도달 -> 일시적인 서버다운 초래.
  • -