Node

NODE 개념

테라시아 2024. 12. 8. 20:42

Node js의 특징

(1) 비동기 IO 처리 / 이벤트 위주
    Node.js의 라이브러리의 모든 API는 비동기 방식-non blocking
    API가 실행되었을 때, 데이터를 반환할 때까지 기다리지 않고
    다음 API를 실행
    실행했던 API가 결과값을 반환 시, Node.js의 이벤트 알림
    메커니즘을 통해 결과값을 수신

(2) 빠른 속도
    구글의 V8 자바스크립트 엔진 사용

(3) 단일 스레드 / 뛰어난 확장성
    이벤트 루프 + 단일 스레드
    이벤트 루프는 서버가 멈추지 않고 반응하도록 해 줌
    -> 서버의 확장성을 키워줌
    -> 아파치에 비해 스레드를 한 개만 사용함으로써
       더 많은 요청 처리 가능

(4) No Buffering
    데이터 버퍼링 없이 데이터를 묶음으로 출력

(5) 라이선스
    MIT 라이선스 적용

(6) 주 사용처
    SNS나 채팅서비스에 많이 사용됨(요청이 많기 때문에)           
    일반서버는 이 기능을 위해서는 멀티 스레드를 써야 함
    Node.js는 요청이 많거나 오래걸리는 요청이 끼어 있어도
    대기 시간이 발생하지 않음
    => 개수는 많으나 크기가 작은 데이터를 실시간으로
       주고받는 어플리케이션에 최적 => 실시간 챗, 주식 차트 등
    
(7) Node.js의 단점
    모든 처리를 단일 스레드가 처리하기 때문에
    코드가 CPU 연산을 많이 요구할 경우 감당하기 어려움
    이미지, 비디오, 대규모 연산 등에는 절대 비권장

 

☆ Code

var http = require("http");

http.createServer(function(request, response){

    response.writeHead(200, {"Content-Type": "text/html"});

    // This is the first Node.js work을 display
    response.end("<h1>This is the first Node.js work</h1>");
}).listen(10002);

console.log("This is the first Node.js work!");

'Node' 카테고리의 다른 글

NODE http 모듈  (0) 2024.12.08