목록 보기
MSA 기반 미디어 업로드 고도화: 람다 함수 구조 변경으로 유지보수성 향상
백엔드

MSA 기반 미디어 업로드 고도화: 람다 함수 구조 변경으로 유지보수성 향상

펫프렌즈
펫프렌즈
2025년 1월 10일

두줄요약

MSA 기반 미디어 업로드 구조를 재설계해 람다 간 복잡한 호출과 분기 코드를 줄였습니다. 또한 DynamoDB, DocumentDB, Step Functions, Kafka를 활용해 유지보수성을 높였습니다.

문제 상황

  • MSA 기반 미디어 업로드에서 람다 간 호출이 많고 분기 코드가 복잡해 흐름 파악과 유지보수가 어려운 상태
  • 동일 IAM 역할, 하드코딩된 테스트 데이터, 사용되지 않는 DB 업데이트 로직으로 코드 가독성과 운영 효율 저하

원인 분석

  • 환경별 배포와 서비스별 책임이 코드 분기와 공용 구성에 섞여 구조가 복잡해짐
  • 업로드 메타데이터와 결과 저장 방식이 RDB 중심으로 남아 있어 서버리스와의 궁합이 떨어짐
  • Lambda 간 직접 호출 구조가 업로드 단계별 역할 분리를 약화시킴

해결 방법

  • Chalice 설정으로 dev/prod 분리를 정리하고 람다별 IAM 역할을 분리
  • RDB에서 DynamoDB와 DocumentDB로 전환해 메타데이터와 결과 정보를 용도별로 분리 저장
  • 람다를 Producer 역할로 재구성하고 Kafka 메시지 발행, Step Functions로 실행 순서 제어

다음 읽기

#DynamoDB 주제를 이어서 읽기

백앤드서버에게 자유를 PresignedURL

커뮤니티 업로드 병목을 해결하기 위해 S3 Presigned URL로 직접 업로드 구조를 도입했습니다. 백엔드 부하를 줄이고 속도와 운영 효율을 함께 개선했습니다.

펫프렌즈
펫프렌즈
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...