본문 바로가기
GGM/네트워크

20230309 - 네트워크 - 노드

by DDongYeop 2023. 3. 9.
728x90

 

 

1.2 노드의 특성

 5. 멀티 스레드 모델과의 비교

  - 싱글 스레드 모델은 에러를 처리하지 못하는 경우 멈춤

   = 프로그래밍 난이도 쉽고, CPU, 메모리 자원 적게 사용

  - 멀티 스레드 모델은 에러 발생 시 개로운 스레드를 생성하여 극복 

   = 단 새로운 스레드 생성이나 놀고 있는 스레드 처리에 비용 발생

   = 프로그래밍 난이도 어려움

   = 스레드 수만큼 자원을 많이 사용함. 

  - 점원: 스레드, 주문: 요청, 서빙: 응답

 

 

6. 멀티 스레드의 활용 

 -노드 14 버전

   - 멀티 스레드를 사용할 수 있도록 worker_threads 모듈 도입

   - CPU를 많이 사용하는 작업인 경우에 활용 가능

   - 멀티 프로세싱만 가능했던 아쉬움을 달래줌. (메인X)

 

 

1.3 노드의 역할

 1. 서버로서의 노드

   - 서버: 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램

   - 클라이언트: 서버에 요청을 보내는 주체(브라우저, 데스크탑 프로그램, 모바일 앱, 다른 서버에 요청을 보내는 서버)

   - 예시

    = 브라우저(클라이언트, 요청)가 길벗 웹사트(서버, 응답)에 접속

    = 핸드폰(클라이언트)을 통해 앱스토어(서버)에서 앱 다운로드

   - 노드 != 서버

   - But, 노드는 서버를 구성할 수 있게 하는 모듈(4장에서 설명)을 제공

 

 2. 서버로서의 노드

   - 노드 서버의 장단점

   - CPU 작업을 위해 AWS Lambda나 Google Cloud FUnctions같은 별도 서비스 사용

   - 페이팔, 넷플릭스, 나사, 월마트, 링크드인, 우버 등에서 메인 또는 서브 서버로 사용

 

 

3. 서버 외의 노드

  - 자바 스크립트 런타임이기 때문에 용도가 서버에만 한정되지 않음

  - 웹, 모바일, 데스크탑 애플리케이션에도 사용 

   = 웹 프레임워크: Angular, React, Vue, Meteor 등

   = 모바일 앱 프레워크: React Native

   = 데스크탑 개발 도구: Electron(Atom, Slack, VSCode, Discord 등 제작)

  - 위 프레임워크가 노드 기반으로 동작함

728x90

'GGM > 네트워크' 카테고리의 다른 글

20230307 - 네트워크 - 컴퓨터네트워크 1장 - 1  (0) 2023.03.07

댓글