- 대규모 트래픽에서 서버 부하를 줄이는 세 번째 방법은 S3와 같은 정적 파일 서빙 서버를 활용하는 것입니다. 🚀
- 빌드된 결과물을 S3에 업로드하고
next.config.js의 assetPrefix를 S3 주소로 설정하여 클라이언트가 정적 파일을 S3에서 직접 받아오게 합니다. ⚙️
- 이는 Next.js 서버가 담당하던 정적 파일 서빙(JS, CSS, 폰트 등) 작업을 S3로 분산시켜 서버의 핵심 업무 부담을 크게 줄여줍니다. 🤝
- 실제 프로파일링 결과, 이벤트 루프의 피크가 줄어들고 안정화되었으며, 부하 테스트에서는 실패율과 응답 시간이 유의미하게 감소했습니다. 📈
- S3 배포 시 고려할 두 가지는 자동화된 배포 파이프라인 구축과 무중단 배포 전략입니다. 🛠️
- 무중단 배포를 위해 배포 시마다 고유한 폴더명(예:
nanoID)을 사용하여 S3에 업로드하고, assetPrefix를 해당 폴더로 연결하여 기존 사용자에게 404 오류 없이 새로운 버전을 제공합니다. 🔄
- 이 시리즈는 Next.js 서버의 정적 HTML 생성, 정적 파일 서빙, 이미지 최적화 중 정적 파일 서빙 부분을 최적화하는 방법을 다루었습니다. 💡
- 영상 제작자는 초기 비판적인 댓글을 극복하고 응원하는 댓글을 통해 위로를 받으며, 지식 공유의 가치와 커뮤니티의 중요성을 강조합니다. ❤️
데브허브 | DEVHUB | 대규모 트래픽 처리 - 마지막화