NodeJS / PM2에 대해서

NodeJS란

  1. 웹이라는 런타임(실행환경)에서만 동작하던 자바스크립트를 - > nodejs라는 런타임(실행환경)에서 동작하도록 변경한것

  2. 런타임이란? 언어가 돌아가기 위한 실행환경

  3. NodeJs의 논블럭킹이란? 요청순서에 상관없이 가벼운 요청 먼저 처리해서 응답하는것(표예매300표<표예매1표) , 채팅서비스 등에 용이함, 비동기처리를 이용해서 가능함(js는동기적언어임)

  4. 일반 언어는 블록킹이다, 요청이 들어오면 그 요청이 끝날때까지 기다린다

  5. 자바스크립트는 싱글스레드 -> 그러나 비동기 처리를 이용해서 논블럭킹처리를 한다 -> 그래서 빠르다고 느낌(이벤트 드리븐)

이벤트 드리븐 / 논블럭

이벤트드리븐:

자바스크립트와 마찬가지로 nodejs는 싱글스레드로 하나의 요청밖에 처리가 안된다. 그러나 이벤트루프(js에서 큐에 저장 하는 개념)을 사용해서 이벤트 기반으로 운영가능하다. 무거운 요청은 이벤트 루프(큐)에 넣어두고 스택에 쌓인 요청 먼저 처리 후 나중에 큐의 내용을 처리하는 방식

논블럭:

이벤트드리븐 방식을 이용해서 무거운 요청에 대한 응답을 뒤로 미루고 가벼운 요청 먼저 처리 가능하게하므로 블럭(막힘)이 없도록 함


PM2란

nodejs는 하나의 스레드만 가진다(자바스크립트특성상)->여러 사용자가 이용 힘듬

->그런데 pm2를 이용해서 16개의 스레드를 가진  컴퓨터에 16개의 스레드를 작동시킬수있다

->여러사용자가 동시적으로 이용가능 (클러스트 기능)

Dec 10, 2022 Views 119