[Next.js 14] 3. Rendering - 5

2025. 2. 21. 14:32·Skill/Next.js
반응형

5. Edge and Node.js Runtimes

  • Next.js의 Context에서 Runtime은 코드의 실행 중 사용할 수 있는 라이브러리, API, 일반적인 함수 기능을 의미.
  • Server에서는 2가지 runtime이 있다.
    • Node.js Runtime : 기본 실행환경으로 모든 Node.js API와 호환 패키지에 접근할 수 있다.
    • Edge Runtime : Web API를 기반으로하는 실행환경.

 

5-1. Runtime Differences

  • Runtime을 선택할 때, 많은 부분을 고려해야 한다. 주요 차이점은 아래와 같다.

1.Edge Runtime

  • Node.js API의 하위집합인 경량화된 실행 환경.
  • 동적이거나 개인화된 컨텐츠를 낮은 지연 시간으로 제공하는 간단한 함수에 적합하다.
  • 리소스를 최소한으로 사용하지만, 많은 경우 사용할 수 있지는 않다.
  • 예를 들어, Vercel에서 실행 시 1MB ~ 4MB 크기의 제한을 가지고 실행될 수 있다. (패키지 import, 폰트와 파일, 배포환경등의 의존성을 포함하여 제한) 게다가, 모든 npm 패키지를 지원하지 않을 수 있다.(fs 모듈 등)

2. Node.,js Runtime

  • 모든 Node.js API에 접근이 가능하고, 모든 npm 패키지를 지원한다. 그러나, Edge Runtime에 비해 Route의 실행 시간이 오래 걸린다.
  • Node.js Server에 배포 시 관리 방법, 스케일링, 환경 구축등이 필요하다. 이를 대체하기 위해 Vercel과 같은 Serverless 배포 환경을 사용하면 이를 해결해준다.

3. Serverless Node.js

  • Edge Runtime보다 복잡한 계산 부하를 처리할 수 있는 확장 가용성이 필요할 때 적합.
  • Vercel의 Serverless 함수를 사용하면, 모든 import 요소를 포함해 크기가 50MB이다.
  • Route를 처리하기 위해 Serverless 함수가 부팅되는데 시간이 수백 밀리초가 걸릴 수 있다는 단점이 있고, 자주 부팅 되지 않기 때문에 지연이 발생할 수 있다.

 

처음 뵙겠습니다.

Next.js 사용하면서 처음 본 개념이거나, 이해하기 어려운 부분(?)은 붉은색 볼드처리 해봤다.

 

 

Preference

  • https://nextjs.org/docs/14/app/building-your-application/rendering/edge-and-nodejs-runtimes
 

Rendering: Edge and Node.js Runtimes | Next.js

Learn about the switchable runtimes (Edge and Node.js) in Next.js.

nextjs.org

 

저작자표시 (새창열림)
'Skill/Next.js' 카테고리의 다른 글
  • [Next.js 14] 3. Rendering - 4
  • [Next.js 14] 3. Rendering - 3
  • [Next.js 14] 3. Rendering - 2
  • [Next.js 14] 3. Rendering - 1
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준2751
    leetcode 2236
    백준1427
    boj1427
    BOJ
    TypeScript
    component-scan
    Easy
    boj2108
    백준7576
    알고리즘
    백준
    Java
    medium
    백준1260
    next 14
    백준7576자바
    프로그래머스
    meidum
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[Next.js 14] 3. Rendering - 5
상단으로

티스토리툴바