- 프로젝트 명칭: REMOVIE
- 개발 인원: 1명
- 개발 기간: 2024.09 - 2025.01
- 1차 리팩터링: 2025.05 - 2025.05 (Backend Spring -> GO 마이그레이션)
- 2차 리팩터링: 클라이언트 리팩터링 예정
Removie는 재개봉 영화 알림 서비스 입니다.
- 기존 영화관에서 다시 보고 싶은 영화가 재개봉하면 알림을 받을 수 있음
- 재개봉 영화 리스트와 최신 개봉 영화 순위 확인 가능
- REMOVIE는 KOBIS(영화관입장통합전산망) 스크래핑 프로젝트 입니다
- 따라서 데이터 이용에 사전 허락을 구하였습니다
- 공개 리포지토리에서 KOBIS 관련 민감한 코드 블록 처리 하였습니다
- GO
- MySQL
- Redis
- AWS Lambda
- GitHubAction
- IntelliJ IDEA
Backend서버에서는 별도 캐시 없이 CloudFront 캐시에 의존합니다. 데이터가 하루동안 유효하기 때문에 불안전하고 매우 단기간 유지되는 Lambda 캐시보다는 CloudFront 캐시가 합리적이라 판단하였기 때문입니다.
Retry & Backoff: Lambda가 서버 역할을 수행하는 동안, 요청 재시도에 대한 책임은 클라이언트에 있습니다.
서버리스 환경(Lambda)에서 서킷 브레이커 패턴을 구현하려면 외부 저장소(예: Redis, DynamoDB 등)가 필요 하지만, 대부분의 정상 요청 흐름에도 불필요한 외부 의존성을 추가하게 되어, 성능과 안정성 측면에서 클라이언트 처리가 합리적이라 판단하였습니다.
추후 EC2 운영시 서버에서 처리 예정.
클라이언트 리팩터링에 따라 기존 엔드포인트가 삭제 또는 통합되었고, 추후 새로운 엔드포인트가 추가될 예정입니다.
엔드포인트 변경점은 구버전 README.md 를 통해 확인할 수 있습니다.
| 메서드 | 경로 | 설명 | 요청 파라미터 | 응답 형식 |
|---|---|---|---|---|
| GET | /release/info |
개봉작 정보 목록 조회 (페이징) | limit, offset |
JSON |
| GET | /release/info/re |
재개봉 영화 목록 조회 | 없음 | JSON |
| GET | /movie |
영화 제목으로 영화 정보 조회 | movieTitle |
JSON |
- 영화 데이터 파싱
- DB 쓰기 작업
- Redis 쓰기 작업
- Java 21
- Spring Boot 3.3
- Spring JPA
- Redis
- MySQL
- EventBridge
- AWS ECS
- AWS ECR
- GitHubAction
- Docker
- IntelliJ IDEA
- Gradle





