
광고 예산 제어 시스템 개선기: Part 1 – 시스템과 가시성 개선
두줄요약
광고 예산의 계획 대비 소진 속도를 제어하는 시스템을 마이크로서비스로 단계적으로 분리했습니다. Kafka와 Prometheus 기반 집계·관측을 강화해 제어 주기와 가설 검증 속도를 개선했습니다.
문제 상황
- 캠페인 예산의 조기 소진·지출 스파이크·목표 예산 미달 방지 필요
- 캠페인 성장과 상품 다변화에 따른 모노리틱 광고 서버 기반 제어 로직의 복잡도 증가
- 피드백 제어 알고리즘의 후행적 결과 반영으로 가설 검증과 영향도 파악 지연
구조와 흐름
- 목표 지출 속도와 실제·예상 지출액 비교를 통한 예산 제어 상태 산출
- 제어 상태 기반 입찰 빈도 조절과 광고 송출량·지출 속도의 피드백 루프
- 광고 서버·캠페인 관리·통계·이벤트 집계·예산 제어 컴포넌트의 단계적 분리
선택 이유
- Jenkins 배치와 광고 서버 소스 공유 구조의 성능 한계 및 구조적 복잡도 해소
- API 기반 상태 갱신과 주기적 재계산을 통한 최종적 일관성 수용
- Kafka 기반 집계 파이프라인 최적화와 예산 제어 상태 모델의 독립 영속화
성능/운영 포인트
- 예산 제어 상태를 캠페인 DB에서 제거하고 광고 송출 캐시에 직접 동기화
- 캠페인 DB 업데이트 부하·상태 전파 실패 지점 감소
- Data Lake·BI 분석과 Prometheus·Grafana·Thanos 기반 실시간 관측 강화
