프로젝트를 시작하게 된 동기와 목표
백엔드 개발을 하며 기본적인 CRUD를 어느 정도 이해할 수 있는 수준까지 성장했습니다.
많은 서비스 기업들은 대규모 트래픽을 처리하기 위해 다양한 기술들을 사용하고 있습니다.
그런 기술들을 경험해보고 싶어 이 토이프로젝트를 기획했습니다.
다시 돌아와 기본적인 CRUD도 깊게 파야지
궁극적인 목표?
이벤트 기반 아키텍처 이해하기.
분산 시스템의 모니터링 및 로깅 기법 학습하기.
현업에서 많이 사용되는 최신 기술 스택 경험해 보기.
대규모 데이터 처리 기술 찍어 먹어보기.
가장 얻어가고 싶은 것은 각 기술의 장단점, 활용 사례, 통합 방법, 실제 문제 해결 과정을 배워보고 싶습니다.
WITH 클로드 3.7 Sonet 똑똑한 친구가 많이 도와줄 거예요
학습해 볼 기술 스택
1. Spring Batch
대량의 데이터를 효율적으로 처리하기 위한 Spring Framework의 모듈입니다.
복잡한 배치 작업의 관리와 대용량 데이터 처리에 최적화되어 있습니다.
2. Kafka
분산 스트리밍 플랫폼으로 실시간 데이터 파이프라인을 구축합니다.
높은 처리량, 낮은 지연 시간의 메시지 스트리밍을 지원합니다.
3. OpenSearch
분산형 검색 및 분석 엔진으로 대규모 데이터의 실시간 검색과 복잡한 집계 기능을 제공한다고 합니다.
4. Datadog
클라우드 규모의 애플리케이션 모니터링 플랫폼입니다.
인프라와 애플리케이션 성능의 종합적인 모니터링을 제공합니다.
초기 서비스 아키텍처 설계하기
1. 스포티파이에서 음악 데이터를 수집합니다.
2. Spring Batch로 데이터를 배치 처리합니다.
3. Kafka를 통해 이벤트 스트리밍을 합니다.
4. OpenSearch로 데이터를 검색합니다.
5. Datadog으로 전체 시스템을 모니터링합니다.
프로젝트 주제!
좋아하는 장르와 연관된 다른 장르의 음악들을 추천해주고 싶습니다. 간단하죠?
사실 오버엔지니어링에 너무너무너무 가깝다고 생각합니다. 하지만 이 기술스택을 나중에 팀 프로젝트에 적용해 볼 기회가 올 수도 있기 때문에.. 기술스택에 대한 이해와 학습을 중점으로 진행해 보겠습니다.
핵심기능을 3가지로 잡았습니다.
인기 음악 및 신규 발매 음악 조회하기
장르기반의 음악 추천
아티스트/앨범/트랙 등 기본 정보 검색하기.
MVP를 다음과 같이 계획했습니다. 간단한 기획이라 언제든 바뀔 수도 있을 것 같아요.
- 기본 API 구현 (Spring Boot + Spotify API)
- 기본 엔티티 및 저장소 설정
- 스포티파이 연동
- 음악 검색 및 조회 엔드포인트 구현
- 배치작업 추가
- 일일 신규 발매 음악 수집 배치
- 주간 인기 차트 업데이트 배치
- 이벤트 처리 추가
- 검색 이벤트 추적
- 인기 검색어 집계 파이프라인
- 검색 기능 향상
- 음악 메타데이터 색인화
- 향상된 검색 기능 구현 (유사도 검색)
- 모니터링 추가
- API 성능 모니터링
- 기본 대시보드 설정
각각 MVP에 대해서 추후 계속 포스팅해볼게요! 클로드야 도와줘~~~~~~~~~~~
'BackEnd' 카테고리의 다른 글
Spotify API를 이용해 엔터프라이즈 기술 스택 학습하기 [#2] - Spotify API 사용을 위한 토큰을 관리해보자 (2) | 2025.04.11 |
---|---|
Spring Security + jwt + redis 로그인 흐름 (1) | 2025.02.03 |
[Servlet] 서블릿이란? (1) | 2024.09.28 |