피드로 돌아가기
Title: How I Built ZenPlan: A Premium AI Habit Tracker with Next.js, Vercel OIDC, and Amazon DynamoDB
Dev.toDev.to
Backend

Single-Table DynamoDB와 Edge Cache 제어로 구현한 고성능 AI 습관 트래커

Title: How I Built ZenPlan: A Premium AI Habit Tracker with Next.js, Vercel OIDC, and Amazon DynamoDB

divinefavour12345672026년 6월 20일3intermediate

Context

Serverless 환경에서 상태 변경 시 Edge Caching으로 인한 UI 데이터 불일치 발생. 다수의 데이터 엔티티를 효율적으로 조회하기 위한 최적화된 데이터 모델링 필요성 증대.

Technical Solution

  • Edge Caching으로 인한 Stale State 해결을 위해 API Route에 force-dynamic 설정 및 Cache-Control: no-store 헤더 명시
  • 클라이언트 사이드 Fetch 요청 시 Date.now() 기반의 Cache-busting 파라미터를 추가하여 브라우저 캐시 강제 무효화
  • Amazon DynamoDB의 Single-Table Design을 채택하여 Profile과 Habit 데이터를 단일 테이블 내 PK/SK 구조로 통합
  • PK(PROFILE#, HABIT#)와 SK를 활용한 Index Scan 최적화로 대시보드 의존성 데이터의 조회 속도 극대화
  • Vercel OIDC와 AWS IAM 연동을 통한 Passwordless 인증 체계 구축으로 서버리스 배포 보안성 강화

- Next.js App Router 사용 시 상태 변경이 즉각 반영되어야 하는 API는 `force-dynamic`과 `no-store` 헤더를 조합하여 설정할 것 - DynamoDB 사용 시 조인 연산 부재를 극복하기 위해 Single-Table Design 패턴을 검토하고 PK/SK 설계를 최적화할 것 - Edge Runtime 환경에서는 서버 설정과 클라이언트 Fetch 옵션 모두에서 캐시 제어 전략을 이중으로 적용할 것

원문 읽기