728x90
서버로서의 노드
- 서버: 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
- 클라이언트: 서버에 요청을 보내는 주체(브라우저, 데스크탑 프로그램, 모바일 앱, 다른 서버에 요청을 보내는 서버)
- EX) 브라우저(클라이언트, 요청)가 길벗 웹사이트(서버, 응답)에 접속, 핸드폰(클라이언트)을 통해 앱스토어(서버)에서 앱 다운로드
- 노드 != 서버
- 하지만, 노드는 서버를 구성할 수 있게 하는 모듈(4장에서 설명)을 제공

노드 서버의 장단점

- 비정상 흐름을 사용자(이미지, 암호화)가 존재할 경우 노드가 처리하기 힘들다
- 노드는 기본이 싱글 스레드이기 때문에 비정상 흐름을 사용자를 처리하기 위해 멀티 스레드를 지원하는 것이다.
- 자바스크립트를 사용하는 점이 가장 큰 장점이다 -> JavaScript를 그대로 쓰기 때문에 JSON 형식과 호환이 쉽다.
CPU 작업을 위해 AWS Lambda나 Google Cloud Functions 같은 별도 서비스 사용
페이팔, 넷플릭스, 나사, 월마트, 링크드인, 우버 등에서 메인 또는 서브 서버로 사용
서버 외의 노드
자바스크립트 런타임이기 때문에 용도가 서버에만 한정되지 않음
웹, 모바일, 데스크탑 애플리케이션에도 사용
- 웹 프레임워크: Angular, React, Vue, Meteor 등
- 모바일 앱 프레임워크: React Native
- 데스크톱 개발 도구: Electron(Atom, Slack, VSCode, Discord 등 제작)
위 프레임워크가 노드 기반으로 동작함
728x90
'Node > node 시작하기' 카테고리의 다른 글
| 노드, VSCode 설치하기 (0) | 2022.07.22 |
|---|---|
| 노드의 특성 (0) | 2022.07.21 |
| 노드의 정의 (0) | 2022.07.21 |