개발언어/Node.js
NodeJs 서버로서의 노드
Surge100
2022. 12. 12. 18:14
대부분의 서비스가 서버 - 클라이언트 이중 구조로 되어 있다.
서버
네트워크를 통해 클라이언트에 정보 혹은 서비스를 제공하는 컴퓨터 또는 프로그램
클라이언트
서버에 요청을 보내는 주체
(브라우저,데스크탑 프로그램,모바일 앱, 다른 서버에 요청을 보내는 서버)
⭐️노드는 서버가 아니지만, 서버를 구성할 수 있게 하는 모듈이다.
노드 서버의 장단점
장점 | 단점 |
멀티 스레드 방식에 비애 컴퓨터 자원을 적게 사용함. | 싱글 스레드서 CPU 코어를 하나만 사용함. |
I/O 작업이 많은 서버로 적합 | CPU (주방장,점원)작업이 많은 서버로는 부적합 ex)이미지 리사이징,암호화,알고리즘 문제 풀이 |
멀티 스레드 방식보다 쉬움 | 하나뿐인 스레드가 멈추지 않도록 관리해야 한다. |
웹 서버가 내장되어있다. | 서버 규모가 커졌을 때 서버를 관리하기 어렵다. |
CPU 작업을 위해 AWS Lambda나 Google Cloud Functions같은 별도 서비스 사용한다.
노드 실행순서
블로킹 - 순서대로 실행된다.
논 블로킹 - 순서대로 실행되지 않는다.