Node.js

·2023년 3월 22일
1

개발 지식

목록 보기
50/96
post-thumbnail

Node.js

스크립트 언어인 Javascript를 브라우저 없이 독립적으로 자바스크립트 코드를 실행할 수 있는 런타임 환경이다.

Node.js의 특징

  • 자바스크립트 언어를 사용하면서도, 동일하게 이벤트 드리븐, 비동기를 활용한 I/O, 싱글 쓰레드 등의 자바스크립트 언어가 가지고 있는 특징을 그대로 가지고 있다.
  • 내장 HTTP 서버 라이브러리가 있어, 별도의 웹 서버 없이 서버용 프레임워크로 활용이 가능하다. 이를 통해 node.js 가 등장한 이후, 자바스크립트 언어 하나만으로 웹을 꾸릴 수 있다는 장점에서 각광 받았다.

Node.js 가 spring 보다 좋다?

이는 Node.js 가 싱글쓰레드, 이벤트루프, 논블럭킹 I/O 등이 가능하다는 특징 때문에 나온 말이다. 싱글쓰레드이기에 서버가 매우 경량화 되어있으면서도, 다수의 입출력처리에 있어, 비동기적으로 운용되므로 효율성이 좋다. 특히 node.js 가 실시간 스트리밍 서비스 에 좋다는 이유 역시 작은 다수의 데이터가 끊임없이 보내는데 있어서, 효율적인 처리가 가능하기 때문이다. 그 외에도 npm 있어 라이브러리를 얻기 편하다던지 등이 있다.

물론 데이터 입출력 하나하나가 커지고 싱글 쓰레드만으로는 처리할 수 없는 방대한 데이터가 오고 가는 경우에는 멀티쓰레드를 활용하는 Java의 스프링이 더 좋을 수 있다.

Node.js의 사용 사례

Node.js는 Facebook, LinkedIn, Netflix, PayPal 등과 같은 대규모 기업에서 사용되고 있으며 대한민국 기업의 경우는 네이버, 카카오, 라인, 삼성전자 등이 주 서버는 아니지만 몇몇 서비스에 node.js를 활용하고 있다. Node.js는 실시간 웹 애플리케이션, 실시간 채팅, 게임 서버 등과 같은 작업을 처리하는 데 이상적인 백앤드 환경을 제공한다. Node.js는 모바일 백엔드, 마이크로서비스 백엔드, RESTful API 등과 같은 작업에도 자주 사용되고 있다.

profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.

0개의 댓글