T
TechInsights
목록으로
BackEnd•2026. 03. 25.

엠넷플러스 실시간 글로벌 투표 시스템 아키텍처 개선 사례

AWS
AWS Engineering Team
AWS

핵심요약

원문 보기

엠넷플러스가 글로벌 K-POP 팬덤의 대규모 실시간 투표 요구사항을 충족시키기 위해 기존 상용 솔루션 기반 시스템을 AWS 관리형 서비스 기반으로 재설계한 아키텍처 개선 사례를 공유합니다.

엠넷플러스 실시간 글로벌 투표 시스템 아키텍처 개선 사례

배경 및 요구사항

  • 서비스: 글로벌 K-POP 콘텐츠 플랫폼 엠넷플러스 (4,500만 가입자, 2,000만 MAU).
  • 핵심 기능: MAMA AWARDS, 서바이벌 프로그램 등 프로그램 결과에 직결되는 실시간 글로벌 투표.
  • 기존 시스템 한계: 외부 솔루션 기반으로 확장성 부족, 고정 비용, 운영 유연성 저하 문제 발생.
  • 재설계 목표: 신뢰성과 안정성 확보, 확장성 개선, 비용 효율성 증대, 운영 내재화.
  • 핵심 원칙: 투표 요청은 어떤 상황에서도 반드시 수신, 투표 수집과 집계·분석 분리, 실시간 경험과 최종 정확성 모두 만족, 데이터 유실 없는 복구 가능한 구조.

인프라 아키텍처 및 집계 구조

  • 아키텍처: AWS 관리형 서비스 기반으로 재설계 (PostgreSQL → MongoDB Atlas, DynamoDB, ElastiCache for Redis, SQS, MSK 등 활용).
  • 집계 구조 (3중 분리):
    1. 실시간 집계: Amazon ElastiCache for Redis 활용. 즉시 사용자 노출, 지연 최소화 우선 (원장 집계와 일시 불일치 가능).
    2. 원장 집계 (최종): Amazon DynamoDB 기반. 공식 결과 산출 기준. Kinesis → Data Firehose 파이프라인 (5~6분 지연).
    3. 백업 집계: DynamoDB Streams → MSK → BigQuery. 비상 상황 대비 최종 보루 (수동 호출).

데이터 스토리지 및 기술 선택

  • Amazon DynamoDB: 투표 데이터 원장 (무제한 쓰기 성능, 자동 확장, 고가용성). TransactWriteItems API로 낙관적 락 및 원자적 처리.
  • MongoDB Atlas: 투표 메타, 후보자 정보, 페이지네이션 필요 데이터 (투표 확인서 조회 등).
  • Amazon SQS: 투표 요청 수집. API는 SQS에 메시지 전달 후 즉시 응답, 워커 파드가 검증 후 DynamoDB에 저장 (병목 현상 완화).

워커 처리 안정성 및 트래픽 제어

  • Graceful Shutdown: MSK 워커는 수신 중단 후 기존 메시지 완처리 후 종료.
  • Buffer 기반 Backpressure: 순간 트래픽 스파이크 흡수, 동시 처리량 제한으로 저장 계층 부하 제어.
  • 중복 이벤트 방지: DynamoDB PK/SK 설계를 통한 원장 레벨 멱등성 확보 (단일 진실 원장).
  • 대규모 병렬 처리: BulkInsert/Upsert, 메모리 캐시 활용, DLT(Dead Letter Topic) 통한 재처리.
  • Event Driven 아키텍처: SQS, MSK 기반 비동기 처리, MSK 장애 시 SQS Fallback 경로.

성능 테스트 및 성과

  • 처리 시간 개선: 수백만 건 투표 시 평균 처리 시간 3초 → 300ms으로 단축.
  • 처리 성능: 기존 대비 3배 이상 트래픽 처리, 스케일 아웃으로 추가 확장 가능.
  • 안정성: 파이프라인 분리, Graceful Shutdown, Backpressure, 원장 기반 재집계로 중단 위험 해소 및 데이터 정합성 확보.
  • 비용 효율성: 사용량 기반 비용 모델 전환, 대규모 이벤트 외 기간 비용 최소화.
  • 운영 효율: 내부 로직 개선 용이성 확보.

향후 계획

  • ElastiCache for Valkey와 DynamoDB 기반 집계 구조 단순화.
  • Amazon Kinesis Data Firehose 대체 및 DynamoDB 원장 집계 시 랭킹 정보 통합.
  • 백업 집계 자동화 고도화 (불일치 감지 시 자동 보정).
  • Amazon CloudFront 캐싱 적용.
#BackEnd#Architecture
AWS
AWS

AWS Engineering Team

기술 인사이트를 전달하는 공식 채널

You might also like

View all
AWS Control Tower 리전 제약 조건에서 Amazon Bedrock 크로스 리전 추론 기능 활용 지침

AWS Control Tower 리전 제약 조건에서 Amazon Bedrock 크로스 리전 추론 기능 활용 지침

Amazon Bedrock과 함께 Claude Code 사용하기

Amazon Bedrock과 함께 Claude Code 사용하기