개발언어/Node.js

NodeJs 서버로서의 노드

Surge100 2022. 12. 12. 18:14

대부분의 서비스가 서버 - 클라이언트 이중 구조로 되어 있다.

서버

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

 

클라이언트

서버에 요청을 보내는 주체

(브라우저,데스크탑 프로그램,모바일 앱, 다른 서버에 요청을 보내는 서버)

 

⭐️노드는 서버가 아니지만, 서버를 구성할 수 있게 하는 모듈이다.

 

노드 서버의 장단점

장점 단점
멀티 스레드 방식에 비애 컴퓨터 자원을 적게 사용함. 싱글 스레드서 CPU 코어를 하나만 사용함.
I/O 작업이 많은 서버로 적합 CPU (주방장,점원)작업이 많은 서버로는 부적합
ex)이미지 리사이징,암호화,알고리즘 문제 풀이
멀티 스레드 방식보다 쉬움 하나뿐인 스레드가 멈추지 않도록 관리해야 한다.
웹 서버가 내장되어있다. 서버 규모가 커졌을 때 서버를 관리하기 어렵다.

CPU 작업을 위해 AWS Lambda나 Google Cloud Functions같은 별도 서비스 사용한다.

 

노드 실행순서

블로킹 - 순서대로 실행된다.

논 블로킹 - 순서대로 실행되지 않는다.