PR CENTER

뉴스룸     |     료실

mobile background

PR CENTER

Node.js

관리자
2025-09-19
조회수 76

* Node.js

- node.js는 V8 Javascript 엔진으로 빌드된 Javascript의 런타임

- 이벤트 기반 아키텍쳐와 논블로킹 I/O 모델을 통해 높은 동시성과 효율적인 성능 제공

- 싱글스레드 모델을 사용하지만 비동기 I/O와 이벤트 루프를 통해 여러 작업을 동시에 처리 가능

- Core Library와 Node.js Bindings를 활용해 native code(C/C++)와의 상호작용 지원

- NPM (Node Package Manager)을 통해 오픈소스 라이브러리와 패키지를 쉽게 관리 및 사용 가능


* Node.js의 내부 구조


V8 엔진

- V8 엔진은 Javascript를 native code로 변환하여 실행하는 구글의 고속 Javascript 엔진

- JIT (Just-In-Time) 컴파일러로 실행 시점에서 Javascript를 최적화하여 성능을 극대화

- 가비지 컬렉션을 통해 메모리를 자동으로 관리, 불필요한 메모리를 정리하여 효율적인 자원 관리


libuv

- libuv는 비동기 I/O 처리를 위한 라이브러리로, 네트워크 I/O, 파일 시스템 I/O 및 멀티 스레딩 지원

- 이벤트 루프와 콜백 큐를 통해 비동기 작업을 처리하며, 블로킹 I/O 없이 여러 요청을 동시에 처리

- 싱글스레드 환경에서 멀티스레딩의 성능을 일부 제공, I/O 작업을 백그라운드에서 처리하여 성능 극대화


Node.js Bindings

- Node.js bindings는 C++로 작성된 native code와 javascript 사이의 상호작용을 가능하게 하는 다리 역할

- javascript는 C++로 작성된 모듈(파일 시스템, 네트워크 요청 등)을 bindings를 통해 호출할 수 있음


Core Library

- Core Library는 Node.js가 제공하는 내장 모듈들로, 별도의 외부 라이브러리 없이 바로 사용할 수 있는 다양한 기능 제공

- 주요 모듈 예시:

           fs 모듈: 파일 시스템 작업 처리

           https 모듈: HTTP 서버 및 클라이언트 요청 처리

           stream 모듈: 데이터 스트림 처리

           events 모듈: 이벤트 기반 프로그래밍 지원


* Node.js 프로그래밍 모델

싱글 스레드 모델

- Node.js는 싱글스레드 환경에서 실행되며, 하나의 스레드로 이벤트 루프와 콜백 큐를 통해 다수의 요청을 처리

- 비동기 I/O 덕분에 하나의 스레드로도 많은 요청을 효율적으로 처리할 수 있음


멀티 스레드 모델

- Node.js는 기본적으로 싱글스레드로 동작하지만, Node.js 14 버전부터 worker_threads 모듈을 통해 멀티스레드 작업이 가능해짐

- CPU 집약적인 작업을 처리할 때 유용하게 사용됨


클러스터링과 확장성

- 수평 확장: 여러 개의 프로세스를 실행하여 부하를 분산시키는 방식

- 클러스터링 모듈을 통해 여러 CPU 코어를 활용할 수 있음

- 로드 밸런싱으로 트래픽을 여러 서버로 분배하여 성능을 최적화



                                                                                                                                                                                                         ⭐발표자 : 이현주님








0 0

페이지 바로가기

@2024 K2SYSTEMS. All rights reserved.

HOME       |       ABOUT US       |       SOLUTION       |       PR CENTER       |       CONTACT       |       인재채용       |       kakao i cloud 고객센터  

@2024 K2SYSTEMS. All rights reserved.