경험 중심 1인칭 답변
수천만 DAU 광고 노출 시스템에서 낮은 지연시간을 달성하려면 실시간 응찰(RTB)과 사전 계산된 추천 결과를 병행하는 구조가 현실적이라고 봅니다. 수업 프로젝트에서 추천 시스템을 설계할 때 전체를 실시간으로 처리하면 99th percentile latency가 SLA를 넘는다는 것을 확인했습니다. 그래서 유저 프로파일과 광고 후보군은 주기적으로 사전 계산해 캐싱하고, 노출 시점에는 최소한의 필터링과 순위 조정만 실시간으로 처리하는 방식이 적합하다고 생각합니다. 인프라 측면에서는 Redis 기반 캐시와 Kafka를 이벤트 버퍼로 활용하는 구조가 기본 설계의 출발점이 될 것 같습니다. 앞으로도 대규모 시스템을 설계할 때 전체를 실시간으로 처리하려는 유혹을 경계하고, 사전 계산과 실시간의 역할을 분리하는 방식을 유지하겠습니다.
규모가 커질수록 설계 분리가 성능을 결정합니다. 앞으로도 시스템 설계를 할 때 부하를 받는 지점과 캐시가 유효한 지점을 구분해서 설계하는 방식을 유지하겠습니다. 낮은 레이턴시는 아키텍처 선택에서 결정됩니다.