- Published On
Next.js runtime
Next.js에서 runtime
은 애플리케이션이 실행되는 환경을 의미합니다.
Next.js 12 이상부터는 다양한 런타임 환경을 지원하며, 주로 Node.js
와 Edge
런타임이 사용됩니다.
이러한 런타임 옵션은 애플리케이션의 특정 부분이 어디서 실행될지를 결정하는 데 사용됩니다. 아래에서는 Node.js와 Edge 런타임의 차이점을 비교합니다.
구분 | Node.js 런타임 | Edge 런타임 |
---|---|---|
정의 | 서버 사이드에서 JavaScript 코드를 실행하기 위한 환경 | CDN(Contents Delivery Network)의 Edge 서버에서 코드를 실행하기 위한 환경 |
실행 환경 | 일반적으로 단일 서버 또는 서버 그룹 | 전 세계에 분산된 네트워크 상의 가장 가까운 지리적 위치의 서버 |
주 사용 사례 | 데이터베이스 접근, 복잡한 서버 사이드 로직 처리 | 정적 파일 제공, 캐시된 데이터 불러오기, 사용자 요청에 빠르게 반응 필요한 작업 |
장점 | 완전한 Node.js API 지원, 서버 사이드 기능 구현 용이 | 낮은 지연 시간(Latency), 글로벌 분산 네트워크를 통한 빠른 콘텐츠 전송 |
단점 | 지연 시간(Latency)이 상대적으로 높을 수 있음, 확장성 제한 | Node.js의 일부 기능 제한, Edge 환경에서 작동하는 특정 API만 사용 가능 |
Node.js 런타임
- 전통적인 서버 사이드 JavaScript 실행 환경입니다.
- 데이터베이스와의 상호작용, 파일 시스템 접근, 서버 사이드 로직 실행 등 복잡한 백엔드 작업에 적합합니다.
- 일반적으로 하나의 서버 또는 서버 클러스터에서 실행됩니다.
Edge 런타임
- Vercel과 같은 플랫폼에서 제공하는, 전 세계에 분산된 Edge 서버에서 코드를 실행합니다.
- 사용자에게 더 가까운 위치에서 코드를 실행하여, 지연 시간을 줄이고 콘텐츠 전달 속도를 향상시킵니다.
- 주로 정적 콘텐츠 제공, 캐싱, 요청에 따른 빠른 응답 생성 등에 사용됩니다.
연관된 포스트 구경가기
1. Next.js 란?2. Next.js - middleware3. Next.js - route handler4. Next.js Pages Router5. Next.js(pages-router) - data fetching6. Next.js - dynamic import7. Next.js에서 Head 컴포넌트 사용 방법8. Next.js의 폴더 구조 분석9. Next.js에서 메타데이터 다루기10. Next.js(app-router) - data fetching11. Next.js runtime12. Next.js 패러렐 라우트, 인터셉팅 라우트13. Next.js에서 Font를 설정하는 방법14. Next.js - Server Actions15. Next.js Image 컴포넌트16. Next.js 빌드 과정과 Webpack, Babel17. Next.js Configuration: next.config.mjs18. Next.js 커스텀 서버19. Next.js의 렌더링 과정
간략히