목록 보기
어서 와, 광고 데이터 수집은 처음이지? (feat. kraken)
아키텍처

어서 와, 광고 데이터 수집은 처음이지? (feat. kraken)

매드업
매드업
2022년 7월 1일

두줄요약

광고 매체 API의 호출 제한과 페이지네이션으로 인한 대량 수집 문제를 다뤘습니다. Redis Stream과 ECS 기반 크라켄으로 병렬 수집·재시도를 구현해 오류율을 개선했습니다.

문제 상황

  • 광고 매체별 API 호출 횟수·간격 제한과 페이지네이션으로 인한 대량 리포트 수집 지연
  • 다수 광고주·캠페인·과거 데이터 수집 과정의 429 오류와 새벽 리포트 발송 요구

구조와 흐름

  • API별 호출 간격을 독립 다리로 모델링한 병렬 수집 플랫폼 크라켄
  • RDS의 광고주 정보와 Redis Stream 기반 이벤트 요청, 수집 완료 후 Prism Stream 전달
  • throttling·collect·checker 애플리케이션 분리와 pending·ack 상태 기반 재시도

선택 이유

  • API별 상이하고 변경 가능한 호출 제약의 독립적 관리
  • 메시지 정상 수집 확인 기능 중심의 Redis Stream 채택
  • 신규 API별 Stream Key 추가를 통한 수집 경로 확장

성능/운영 포인트

  • AWS ECS·Public Subnet 기반 매체 API 통신과 Python 애플리케이션 구성
  • GitHub Actions 기반 기능 단위 자동 배포
  • 지정 횟수 재시도와 수집 오류율 5~10%에서 0%로 개선

다음 읽기

#AWS 주제를 이어서 읽기

매드업의 DMP - 프리즘(prism)을 소개합니다

매드업의 DMP 프리즘 구조와 운영 경험을 소개한 글입니다. V1의 한계를 바탕으로 V2에서 비동기화, 매니지드 서비스, RA3 전환을 통해 개선한 내용을 설명했습니다.

매드업
매드업
아키텍처
전체 보기

댓글 0개

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

댓글을 불러오는 중...