Server/Node.js

Node.js 인기이유

SambaLim 2019. 1. 23. 23:23
Node.js 인기이유

Node.js?

Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼으로 Javascript라는 스크립트 언어를 사용한다는 특징이 있다. 기존 서버와 다르게 Non-blocking I/O와 단일 스레드 이벤트 루프를 통해 높은 처리 성능을 보인다.

HTTP 서버 라이브러리를 내장하고 있어 웹 서버에서 별도의 소프트웨어를 사용하지 않고도 동작한다.

 

Node.js의 인기비결?

Javascript의 천하통일

Node.js는 웹에 동적인 흐름을 만들어주는 Javascript라는 언어를 사용합니다. Javascript는 Node.js가 나오기 전 시대(ASP, JSP PHP등의 전용 스크립트언어 시대)에는 단순히 브라우저 상에서만 동작하는 언어였습니다. 하지만 Node.js의 등장으로 인해 스크립트 언어인 Javascript가 독립적인 환경에서 동작하는 것이 가능해졌습니다.

Node.js를 설치하였다면 윈도우의 cmd나 맥의 terminal과 같은 프로그램에서 node를 입력하여 Javascript를 바로 실행할 수 있습니다.

이전까지 Server-Client 구조의 웹사이트를 만들 때 Server는 Java, Python, Ruby와 같은 언어를 사용하고 웹에서 표시되는 부분은 Javascript로 작성하였는데, Node.js의 등장으로 Javascript를 통해 전체 웹페이지를 만들 수 있게 되었습니다.

 

메모리 Issue 해결

Node.js가 등장하기 전에는 ASP, JSP, PHP등 웹 개발을 위한 전용 스크립트 언어들이 득세하였었습니다. 이들로 웹 개발을 할 경우 서버는 주로 Apache-Tomcat과 같은 웹 서버를 따로 두어 사용하였엇는데, 이 서버의 쓰레드 생성이 문제가 되었습니다. 어떤 클라이언트가 웹 서버에 연결을 요청한다면, 일정한 메모리공간을 사용하여 쓰레드를 생성합니다. 따라서 클라이언트의 웹서버 연결요청이 늘어난다면, 더 많은 서버를 구할 수 밖에 없었습니다.

Node.js는 서버에서 클라이언트로부터의 요청을 메모리공간을 사용하여 쓰레드를 생성하는 방식에서 탈피하며 인기를 얻습니다. Node.js 는 클라이언트의 각 연결을 하나의 이벤트로 간주하고 노드 엔진에서 처리합니다.

 

 

'Server > Node.js' 카테고리의 다른 글

Node.js 시작하기  (0) 2019.01.27
Node.js 비동기 처리  (0) 2019.01.25