Netflix, 실시간 추천 시스템으로 라이브 이벤트 시청 경험 혁신

by DD
7개월 전
조회수 10

Netflix는 라이브 이벤트 추천을 위해 실시간 추천 시스템을 구축함

Pushy, Kafka, Redis 기반의 Pub/Sub 아키텍처를 통해 1억 명 이상에게 업데이트 전송

PrefetchingBroadcast 방식을 결합하여 트래픽 급증 문제 해결

Pushy, Kafka, Redis를 활용한 Pub/Sub 아키텍처

Netflix는 Pushy를 통해 WebSocket 연결을 관리하고, Kafka를 사용하여 메시지를 비동기적으로 처리한다. 구체적으로 Message Router는 Pushy 노드 단위로 구독을 추적하여 낮은 지연 시간을 보장한다. 따라서 Redis를 활용한 캐싱 전략을 통해 데이터 접근 속도를 향상시키고, 시스템 부하를 감소시킨다.

Prefetching과 Broadcast를 통한 트래픽 관리

Netflix는 Prefetching을 통해 이벤트 전에 필요한 데이터를 미리 로드한다. Broadcast를 통해 각 디바이스에 상태 키타임스탬프를 전송하여 캐시를 업데이트한다. 반면, At Least Once 전송 방식을 통해 네트워크 불안정성에도 데이터 손실을 방지하고, 최신 상태 유지를 보장한다.

캐시 동기화 문제 해결: Jitter 적용

라이브 이벤트의 급증하는 트래픽으로 인해 캐시 만료재계산 문제가 발생했다. 따라서 TTL(Time-To-Live)Jitter를 추가하여 캐시 만료 시간을 분산시켰다. 트래픽 우선순위를 조정하여 비 critical 서비스의 트래픽을 줄여 시스템 안정성을 확보했다.

Behind the Streams: Real-Time Recommendations for Live Events Part 3