핵심 요약
넷플릭스가 라이브 이벤트를 위한 실시간 추천 시스템을 구현해 프리패칭과 실시간 방송의 두 단계로 업데이트를 분산하고 1억 대 이상 기기에 1분 이내 최신 정보를 전달하는 방식을 도입했습니다.
구현 방법
- Message Producer가 비즈니스 로직과 GraphQL 스키마를 중앙화
- Message Router가 Pushy, Apache Kafka, Netflix KV로 2계층 팬아웃 구조를 구현
- 디바이스 캐시에 프리패칭 데이터와 상태 키/타임스탬프를 저장해 로컬 업데이트를 가능하게 함
- GraphQL DGS와 WebSocket 기반의 저지연 업데이트 흐름을 구성
주요 결과
- 피크 부하에서 1억 대 이상 기기에 1분 이내 업데이트를 전달
- 두 단계 업데이트로 계산/대역폭 요구 최소화 및 thundering herd 감소
- 불안정한 네트워크에서도 업데이트를 놓치지 않도록 최소 한 번 방송 보장