Next.js 런타임

Next 런타임 선택 기준

API Routes, Route Handlers, Server Actions, Edge Functions는 실행 위치와 제한이 다르므로 지연 시간, 권한, Node API 필요성을 기준으로 고른다.

01

요청 형태

브라우저가 HTTP API를 호출하는지, 폼이 서버 액션을 호출하는지 먼저 나눈다.

entry
02

런타임 요구

파일 시스템, TCP, native module이 필요하면 Node 런타임을 선택한다.

capability
03

지연 시간

인증 판정, 리다이렉트, 지역별 캐시처럼 짧은 작업은 Edge 후보가 된다.

latency
04

운영 제한

timeout, cold start, 지역별 데이터 접근, 로그 위치를 배포 환경에 맞춘다.

platform
Route Handler
REST API, webhook, 외부 서비스 프록시에 적합하다. Request/Response를 직접 다루며 캐시와 상태 코드를 명시한다.
HTTP boundary
Server Action
React 폼과 서버 변경 작업을 가까이 둘 때 유리하다. 권한 확인과 validation을 action 내부에서 반드시 수행한다.
mutation
Edge
짧고 독립적인 판단은 빠르지만 Node API 제약이 있다. DB 직접 연결보다 토큰 검증, rewrite, A/B routing이 어울린다.
limited runtime

선택 전 질문

Node 의존성 선택한 라이브러리가 Edge Runtime에서 동작하는지 확인한다.
데이터 위치 함수 위치와 DB 위치가 멀면 빠른 런타임도 느려진다.
보안 모든 server entry는 인증과 입력 검증을 자체적으로 수행한다.

런타임 힌트

export const runtime = "edge"
// Node API가 필요하면 runtime = "nodejs" 또는 기본값 사용