Web Development/NodeJS

02. Node.js 특징

tongnamuu 2020. 3. 16. 01:48
  1. 브라우저 밖에서 자바스크립트 코드를 실행한다.
  2. V8 엔진을 사용한다
  3. 이벤트 기반의 비동기 I/O 프레임워크이다.

Client , Event Loop , Non-blocking Worker 로 크게 이루어져 있고

Event Loop은 single thread로 이루어져 있다. 

Client가 HTTP requests를 Node.JS 서버로 보내게 되면

Event Loop에서 일을 처리하고 Client로 결과를 return 하게 된다.

 

Event Loop에서는 Event Queue에 있는 일을 하나씩 실행하게 된다.

이 때 Event Loop에서 일을 처리할 때 Event Loop에서 바로 처리할 수 없을 때는

다른 스레드, Non-blocking Worker로 일을 넘겨주어 실행시킨다.

결과가 완료된 후에는 Event Queue에 넣어준다.