피드로 돌아가기
Dev.toBackend
원문 읽기
Supabase Edge Function 쿼터 한계 극복을 위한 Action Extension 패턴 도입
Building a Public Guitar Gallery With 4 Users: Action Extension Pattern + Viral Design
AI 요약
Context
Supabase Free tier의 Edge Functions 최대 배포 제한(94개)에 도달하여 신규 기능 추가가 불가능한 상황. 서비스 초기 단계에서 유저의 공유 동기를 유발하기 위한 Public Gallery 기능 구현이 시급한 기술적 병목 발생.
Technical Solution
- 기존
guitar-recording-studio함수 내에public_gallery액션을 추가하는 Action Extension 패턴 적용을 통한 배포 슬롯 소모 방지 adminClient를 활용한 서버 사이드 데이터 조회로 보안성을 확보한listPublicRecordings로직 구현- 유저 입력 기반의
sortBy파라미터에 대해 Whitelist 검증을 수행하여 SQL Injection 취약점 원천 차단 - 단일 요청으로 인한 Full-table Scan 및 리소스 과부하 방지를 위해 최대 조회 수를 50개로 Hard cap 설정
count: "exact"옵션을 사용하여 데이터 페이징을 위한 전체 행 수를 단일 쿼리로 효율적으로 획득- User-generated Content의 실시간 업데이트를 통한 SEO 최적화를 위해
sitemap.xml에 갤러리 경로 추가
실천 포인트
- 클라우드 서비스의 리소스 쿼터 제한 시, 유사 도메인 기능을 하나의 Entry point로 통합하는 Action 패턴 검토 - 외부 입력값 기반의 정렬/필터링 구현 시 반드시 Whitelist 기반의 Validation 레이어 구축 - API 응답 성능 저하 및 인프라 비용 상승 방지를 위한 하드 리밋(Hard Cap) 설정 필수 적용