[ 백엔드 공부하기 : Node.js ] Node의 역할.
∇ Node.js의 역할.
목 차
1. 노드 Introduction
2. 노드 역할
3. 노드 서버의 장단점.
Ⅰ . 노드(Node.js) Introduction.
◎ "Node.js" 는 '크롬 V8 자바스크립트 엔진' 으로 빌드된 자바스크립트 "런타임 환경(Runtime Environment)"으로
"서버-사이드-애플리케이션 개발"에 사용되는 소프트웨어 플랫폼입니다.
§ Node.js 는 브라우저 외부 환경에서 자바스크립트 애플리케이션 개발에 사용되며,
이 작업에 필요한 "모듈", "파일 시스템" , "HTTP" 등등 'Build-in API'를 제공합니다.
○ Node.js는 자바스크립트를 사용해 개발합니다.
○ Front-end 와 Back-end에서 JS언어를 사용할 수 있다는 동형성(ismorphic)은
추가적인 언어 학습 시간을 단축해주는 장점.
○ Node.js는 Non-blocking I/O와 단일-스레드 이벤트-루프를 통한 높은 Request 처리 성능을 가지고 있습니다.
○ DB로부터 대량의 데이터를 취득하여, 웹페이지를 렌더링할 때,
일반적으로 DB처리에 대기시간(blocking)이 발생하기 때문에 웹페이지 표시가 지연되는 현상이 발생합니다.
○ Node.js의 모든 API는 " 비동기 방식으로 동작 " 하여서 Non-blocking I/O가 가능하고
"단일 스레드 이벤트 루프 모델"을 사용하여 보다 가벼운 환경에서도 높은 Request 처리 성능을 가집니다.
○ Node.js의 데이터를 실시간 처리하여 빈번한 I/O가 발생하는 SPA(Single Page Application)에 적합합니다.
but, CPU 사용률이 높은 앱에는 권장하지 않습니다.
++ Node.js에는 Socket.io 라는 '실시간 통신'을 실현하는 라이브러리를 사용가능하여서
대량의 데이터 처리와 실시간 통신을 구현할 수 있는 모든 기능을 갖추고 있습니다.
Ⅱ . 노드(Node.js) 역할.
∇ 서버 (Server )
√ 서버 : '네트워크'를 통해 '클라이언트'에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램.
√ 클라이언트 : '서버'에 요청을 보내는 주체
(브라우저, 데스크탑 프로그램, 모바일 앱, 다른 서버에 요청을 보내느 서버).
ex)
- -브라우저(클라이언트,요청) 가 웹사이트(서버, 응답)에 접속.
- -핸드폰(클라이언트)을 통해 앱스토어(서버)에서 앱 다운로드.
★ Node는 '서버'를 구성할 수 있도록 하는 모듈을 제공합니다.
Ⅲ . 노드(Node.js) 서버의 장단점.
- CPU 추가 작업을 위해서 AWS Lambda나 Google Cloud Functions 같은 별도 서비스 사용.
- 페이팔, 넷플리스, 나사 ,링드크인, 월마트, 우버 등등에서 메인 또는 서브 서버로 사용.
'Back_End > Node.js' 카테고리의 다른 글
[ 백엔드 공부하기 : Node.js ] NodeJS의 NPM이란? (0) | 2024.12.07 |
---|---|
[ 백엔드 공부하기 : Node.js ] NodeJS의 기본 동작 원리와 이벤트 루프, 브라우저 환경을 벗어난 JS 실행. (1) | 2024.12.06 |
[ 백엔드 공부하기 : Node.js ] NodeJS에 활용되는 JavaScript의 기본 동작 원리와 V8엔진. (2) | 2024.12.05 |
[ 백엔드 공부하기 : Node.js ] Node.js는 서버단에서 어떻게 JS를 실행할까. (0) | 2024.11.24 |
[ 백엔드 공부하기 : Node.js ] Node.js의 기초 정리. (0) | 2024.11.17 |