Node.js란

# Work/Javascript 2015. 5. 26. 15:08 |
반응형

Node.js란?

- Node.js는 2009년 라이언 달(RyanDahl)이 개발한 서버개발 환경이며 대규모 네트워크 애플리케이션을 개발하고자 만들어졌음.

- 확장 가능한 네트워크 애플리케이션을 만들기 위한 소프트웨어 플랫폼.



1. 기존의 네트워크 프로그래밍과 Node.js의 차이점 

 

1) 기존의 네트워크 프로그래밍은 스레드 기반의 동기방식

처리량이 많아지면 스레드를 늘려서 동시에 일처리 하기 때문에 많은 양의 일을 처리에 대한 좋은 해결방법이지만 스레드를 여러 개 만들어 동시에 처리해야하기 때문에 메모리리 사용량이 많다.

 

2) Node.js는 이벤트 기반의 비동기 방식 (Single thread / Event loop)

스레드는 한개만 생성하며 이벤트 사용으로써 빠른 일처리를 합니다. 처리량이 많더라도 스레드가 한개이기 때문에 메모리 사용량과 같은 시스템 리소스 사용량에는 거의 변화가 없다.

 

 

2. Node.js의 장단점 

 

1) 장점

 

- 웹개발자들 대부분이 사용할 수 있는 자바스크립트 언어기반으로 기존 웹 개발자들의 접근이 용이하다.

- Google에서 V8 자바스크립트 엔진의 속도를 지속적으로 향상시키고 있는만큼 V8엔진을 사용하는 Node.js의 속도도 계속 향상 될 것.

- C++을 사용하여 기능확장이 용이하다.

 

2) 단점

 

- V8 자바스크립트 엔진이 아무리 빨라도 C언어 또는 C++ 언어로 개발된 서버보다는 느리다.

- 1.0 버전 조차 공개되지 못한 신생 개발환경이다. (포스팅 기준 - 버전 0.8.15)

- 많은 개발자들이 동기처리 방식에 익숙해 져있기때문에 비동기 처리 하려면 무엇을 바꿔야 할지에 대한 혼란이 올 수 있다.

- 동기 처리구조의 코드는 일 처리의 순서대로 적은 코드 이기 때문에 직관적이지만 비동기 처리구조의 코드는 결과처리에 대한 코드가 언제 호출 될지 알 수 없다.


 

 

[스크랩] http://applenamu3.blog.me/70152920583

반응형
호정찐