서버로서의 노드
>> 서버 : 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
>> 클라이언트 : 서버에 요청을 보내는 주체(브라우저, 데스크탑 프로그램, 모바일 앱, 다른 서버에 요청을 보내는 서버)
>> 예시
- 브라우저(클라이언트, 요청)가 길벗 웹사이트(서버, 응답)에 접속
- 핸드폰(클라이언트)을 통해 앱스토어(서버)에서 앱 다운로드
>> 노드 != 서버
>> 노드서버의 장단점
장점 | 단점 |
멀티 스레드 방식에 비해 컴퓨터 자원을 적게 사용함 | 싱글 스레드라서 CPU 코어를 하나만 사용함 |
I/O 작업이 많은 서버로 적합 | CPU 작업이 많은 서버로는 부적합 |
멀티 스레드 방식보다 쉬움 | 하나뿐인 스레드가 멈추지 않도록 관리해야 함 |
웹 서버가 내장되어 있음 | 서버 규모가 커졌을 때 서버를 관리하기 어려움 |
자바스크립트를 사용함 | 어중간한 성능 |
JSON 형식과 호환하기 쉬움 |
>> CPU 작업을 위해 AWS Lambda나 Google Cloud Functions 같은 별도 서비스 사용
>> 페이팔 , 넷플리스, 나사 , 월마트, 링크드인, 우버 등에서 메인 또는 서브 서버로 사용
서버 외의 노드
>> 자바스크립트 런타임이기 때문에 용도가 서버에만 한정되지 않음
>> 웹, 모바일, 데스크탑 애플리케이션에도 사용
- 웹 프레임워크 : Angular, React, Vue, Meteor 등
- 모바일 앱 프레임워크 : React Native
- 데스크탑 개발 도구 : Electron(Atom, Slack, VSCode, Discord 등 제작)
'Javascript > Node' 카테고리의 다른 글
var const let 자바스크립트 변수 상수 (0) | 2024.10.30 |
---|---|
Node.js 다운로드 설치 최신버전 22버전 (0) | 2024.10.29 |
노드의 특성 (0) | 2024.10.27 |
노드의 정의 (0) | 2024.10.26 |
노드 교과서 섹션0 (0) | 2023.09.07 |