Framework & Library/node.js

[Node.js] 서버로서의 노드 장단점

코찔이_suj 2021. 3. 30. 19:37
728x90

노드의 장단점

- 장점

1) 내장된 웹서버가 있다.

   -> 아파치나 nginx, IIS같은 별도의 웹서버를 설치할 필요가 없다.

 

2) 자바스크립트를 사용한다.

   -> 하나의 언어(js)로 웹사이트를 개발할 수 있어 개발 생산성을 높일 수 있다.

   -> json이 자바스크립트 형식이므로 노드에서는 쉽게 처리할 수 있다.

 

3) 싱글스레드 

   -> 멀티 스레딩 방식에 비해 쉽다.

   -> 적은 컴퓨터 자원을 사용한다.

 

4) 논블록킹

   -> I/O 작업이 많은 서버에 적합하다. (ex. 실시간 채팅, 주식차트)

 

5) 많은 회사에서 이미 노드를 사용하고 있다.

   -> 나사, 에어비앤비, 우버, 넷플릭스, 네이버, 카카오, 위메프, 페이팔 등 안전과 보안을 중요시 여기는 회사에서도 많          이 사용할 만큼 안전성과 보안성이 검증되었다.

 

- 단점 

1) 싱글스레드

   -> 에러로 스레드가 죽을 경우 서버가 멈춘다.

   -> CPU 코어를 하나만 사용 = CPU작업이 많은 경우 부적합하다. (ex. 이미지, 비디오, 대규모데이터처리에 부적합)

 

정리하면 노드를 서버로 사용할 경우에는 CPU 작업보단  I/O 작업이 많은 작은 크기의 데이터를 실시간으로 주고 받는 경우에서 사용하기 적합하다는 결론을 내릴 수 있습니다. 이제 노드는 서버 외에도 대표적으로 앵귤러, 리액트, 뷰, 일렉트론 등 노드 기반의 웹 프레임워크도 많이 등장하며 웹, 모바일, 데스크톱 애플리케이션 개발에도 사용되고 있습니다.

이렇게 정리하고 보니 노드가 더 매력적으로 느껴지네요..!! 이렇게 의지 하나를 더 얻어갑니다.  *^U^*