본문 바로가기

nodejs 교과서

노드 장단점

728x90

노드는 CPU부하가 큰 처리보다는 I/O 처리에 특화돼있다.

우리가 작성하는 코드는 모두 스레드 하나에서 처리하며, libuv에서 I/O 처리를 논 블로킹 처리해주기 때문에 많은 수의 I/O 처리도 감당할 수 있는 것이다.

하지만 CPU 연산을 많이 요구하면 스레드 하나로는 감당하기가 힘들다.

 

노드는 크기는 작지만 개수는 많은 데이터를 실시간으로 주고받는 데에 적합하다.(ex: 네트워크, 데이터베이스, 디스크 작업과 같은 I/O 처리를 하는 실시간 채팅/주식 차트/JSON 데이터 제공하는 API서버)

 

이미지, 비디오 처리, 대규모 데이터 처리처럼 CPU를 많이 사용하는 작업을 위한 서버로는 권장하지 않는다.(AWS람다, 구글 클라우드 펑션스 등의 서비스에서는 노드로 많은 CPU를 사용하는 작업 처리를 지원함.)

 

서버 규모가 커지면 nginx 등의 웹 서버를 노드 서버와 연결해야함.

'nodejs 교과서' 카테고리의 다른 글

[node.js] Node.js 알아보기  (0) 2022.06.27