BACK END/node.js

nodejs는 무엇일까

자코린이 2022. 4. 3. 18:57

nodejs는 크롬의 v8엔진을 기반으로 만들어진 개발환경입니다.

기본적으로 v8엔진을 사용하기 때문에 javascript를 브라우저가 아닌 환경에서 동작하게 해줍니다.

이는 기존의 javascript언어로 웹만 만드는 것이 아닌 다른 활동을 할 수 있다는 의미입니다.

예시로, 일렉트론을 사용한 데스크탑 앱을 만들 수 있고, back단에서 동작하는 서버를 만들 수 있습니다.(express)

그 외에도 다양한 사용이 가능합니다.

 

nodejs는 가장 중요한 특성이 있는데, Non - Blocking I/O (비동기식 방식)와 Single - Thread가 있습니다.

 

Non - Blocking I/O는 대규모 네트워크에 특화되어 있습니다.

node를 사용하지 않는 기본 서버는 한개의 처리를 위해 잠시 서버가 멈추지만,(blocking)

node를 사용한 서버는 모든 요청을 듣고 간단한 것부터 차례대로 처리하여 서버가 잠시 멈추는 것을 막을 수 있습니다.

 

Single - Thread방식은 처리 방식을 한가지만 처리하는 로직을 여러개 만드는 방식으로 구동합니다.

이는 서버의 자원을 아껴줄 수 있지만, 복잡한 로직을 처리하기 위해서는 많은 수의 스레드를 만들어 코드가 복잡해지는 문제가 발생합니다.

 

 

 

'BACK END > node.js' 카테고리의 다른 글

FCM을 이용한 push notification backend  (0) 2022.10.14
node로 oEmbed만들기  (0) 2022.04.13