좋은점이 있다면 단점이 있는법!
1. 동기적 코드사용으로 인한 급격한 성능 저하
기존 대부분의 언어는 비동기적 코드로 프로그램을 만들었습니다. 이에 프로그래머들의 로직 방식도 비동기적으로 따르게 되었죠. 하지만 비동기적프로그램에 동기적 코드를 쓴다면 단순한 코드 한줄이 서비스 전체에 영향을 미칠수도 있게됩니다.
꼭 보셔야 할 자료 - 난하님의 싱글스레드에서의 동기/비동기 코드 작동 http://vimeo.com/32035710
2. 해당 로직이 실행전까지 에러를 알수 없으며 에러시 전체 서비스에 영향을 미침
단일 스레드 방식이므로 해당 스레드가 작동을 멈추면 전체 서비스에 영향을 미치게 됩니다. 예로 에러가 발생하거나 특정 조건에 따른 무한루프 같은 스레드 하나를 전체 점유하면 node.js의 가비지 컬렉션도 스레드에 좌우되므로 서비스가 다운됩니다. 결국 해당 로직별 테스트 주도 방식으로 개발해야 맘이 편합니다.
3. 기타
디버깅 환경이 콘솔!(node.js의 핵심개발자들이 모두 유닉스 덕후들이란 소문이 있습니다.) , 정식버전이 아직도안나옴!(14년 2월 현재 0.10.25 버전) , 모듈에 알수없는 버그들 산재, node.js의 미래를 알수 없음, 등이 있습니다.
'Node.js > 1. node.js 란?' 카테고리의 다른 글
1-5 node.js를 지원하는 웹IDE! c9.io (0) | 2014.02.20 |
---|---|
1-4-2 ubuntu node.js 설치 방법 (0) | 2014.02.18 |
1-4-1 windows node.js 설치 (0) | 2014.02.16 |
1-2 node.js의 특징. event-driven, non-blocking I/O , 단일 스레드 (0) | 2014.02.14 |
1-1 node.js 는 무엇일까요? (1) | 2014.02.13 |