
Next.js App Router를 사용하다 보면 다음과 같은 문장을 자주 보게 된다.
여기서 자연스럽게 이런 의문이 생긴다.
👉 Edge Runtime은 정확히 무엇이고, 언제 사용해야 할까?
이 글에서는 Edge Runtime의 개념과
Node.js Runtime과의 차이를 중심으로 정리한다.
Edge Runtime은
👉 사용자와 가까운 위치(CDN)에서 코드를 실행하는 환경이다.
[Node.js Runtime]
사용자 → 중앙 서버 → 응답
[Edge Runtime]
사용자 → 가까운 CDN 서버 → 응답
👉 요청을 더 가까운 위치에서 처리하여 네트워크 지연(Latency)을 줄이는 구조이다.
Edge Runtime의 목적은 응답 속도 개선이다.
👉 특히 요청 초기에 실행되는 로직에서 효과가 크다.
Next.js에서는 일부 기능이 Edge Runtime에서 실행된다.
👉 Middleware는 기본적으로 Edge에서 실행된다.
두 환경은 역할이 명확히 다르다.
fs, net 등)👉 "무거운 처리 vs 빠른 분기 처리" 기준으로 구분하면 이해하기 쉽다.
Edge Runtime은 경량 환경이기 때문에 제약이 존재한다.
fs (파일 시스템)net, http👉 Node.js와 동일한 서버 환경이 아니다는 점이 핵심이다.
fetch👉 요청 초기에 빠르게 판단하는 로직에 최적화된 환경이다.
Middleware는 요청이 들어오자마자 실행된다.
이 특성 때문에
👉 지연을 최소화할 수 있는 Edge Runtime이 적합하다.
👉 공통점: 빠르게 판단하고 넘기는 로직
이런 경우는 Node.js Runtime이 더 적합하다.
Edge Runtime은 사용자와 가까운 위치에서 실행되는 경량 환경으로,
요청 초기에 빠른 처리가 필요한 로직에 적합하다.
Next.js는 하나의 실행 환경만 사용하는 구조가 아니다.
👉 실행 위치와 역할을 기준으로 구분하면 각 기능을 언제 사용해야 하는지 명확해진다.