별볼일
위치 기반 별 관측 적합도 분석 및 북마크 추천 백엔드 서비스
기획 → 설계 → 백엔드 → 프론트엔드 → 인프라 → 배포까지 단독 수행
- 개요
- 위치 기반 별 관측 적합도 분석 및 추천을 제공하는 백엔드(개인 프로젝트)와 인프라 구축. 6주 안에 백엔드·인프라 검증에 집중하려고 프론트엔드는 화면 명세와 API 계약만 직접 정의한 뒤 구현을 생성형 AI에 위임. 산출물은 직접 써 보며 API 연동·에러 처리와 UX 동작을 점검해 수정 반영했고, 빌드·배포 설정을 다뤄 Vercel 배포까지 마무리.
- 주요 역할
- 실제 트래픽 규모를 가정해 외부 API 한도·수평 확장 관점에서 병목을 먼저 정의하고 해결.
핵심 성과
관측지 점수 계산 시 외부 날씨 API(OpenWeatherMap)의 분당 60회 호출 제한으로 인해, 북마크가 많아질수록 API 병목 및 한도 초과 오류(Rate Limit) 발생 위험.
접근불필요한 API 호출을 원천 차단하는 캐싱과, 불가피한 호출을 안전하게 제어하는 병렬 처리 전략을 동시 적용.
해결이중 캐시(Dual Cache) 아키텍처: L1(Caffeine, 5분) + L2(Redis, 1시간) 조합으로 구성해, 동일 위치 조회 시 API 호출을 막고 인스턴스 간 데이터 정합성 유지. 트래픽 제어 및 병렬 처리: Bucket4j로 분당 토큰 소비를 제어하고, CompletableFuture와 스레드 풀을 활용해 허용된 한도 내에서 점수 계산 로직을 병렬로 수행.
결과추천 API 100회 호출 기준 응답 시간 19초 → 4초 (78% 단축). API 한도를 초과해도 메인 서비스는 무중단.
Terraform으로 AWS(EC2, RDS, ElastiCache) IaC 구축. RDS·Redis는 EC2에서만 접근 가능하도록 보안 그룹을 제한해 공개망으로부터 DB·캐시 격리.
