[장점]
- 싱글스레드, 비동기 IO 처리에 기반한 빠른 속도
- 파일 I/O나 네트워크 처리를 이벤트 드리븐 방식으로 처리하기 때문에 빠른 처리가 가능함
- CPU의 대기시간을 최소화 할 수 있음
- CPU 부하가 적고, 많은 커넥션을 동시에 처리해야 하는 구조에 적합
- 자바스크립트를 이용해서 개발할 수 있기 때문에 프론트엔드 개발자의 진입장벽이 낮음
- 기존 Java 서버에 비해 생산성이 높음
[단점]
- 싱글스레드 모델이기 때문에 하나의 작업에 시간이 오래걸리면 시스템 전체의 성능이 급격하게 떨어짐
- 이벤트 콜백 중심으로 코드가 중첩될 경우 가독성이 떨어짐
- 에러가 발생할 경우 프로세스 자체가 죽어버리므로 주의해야 함(watch dog 등으로 처리 가능)
- 멀티코어 활용을 위해서 cluster 모듈을 이용해야 하고, 세션을 공유할 경우 부가적인 작업이 필요함
[종합]
- 개발이 빠르고 쉬운 장점이 있지만 운영 과정의 어려움이 존재함
- REST API 서버, Push 서버등에 사용해야 할 것 같음
출처 조대협님 블로그: http://bcho.tistory.com/876
반응형
'프레임워크 > [JS] node.js' 카테고리의 다른 글
node.js와 mysql 연동하기 (0) | 2016.02.17 |
---|---|
node.js의 LTS 버전과 Stable 버전의 차이 (1) | 2016.01.27 |
[nodejs][cheerio] cheerio 를 이용하여 HTML 파싱하기 - 에어코리아 미세먼지 정보 파싱 (0) | 2016.01.14 |
request 모듈을 이용하여 HTML 가져오기 (1) | 2016.01.11 |
node.js 란? (0) | 2015.12.24 |