Diseña un sistema de notificaciones push para 50 millones de usuarios activos diarios. Asume que el 30% recibe al menos una notificación por día.
Lo primero es aclarar requisitos — ¿latencia objetivo? ¿garantías de entrega? Asumiendo p95 < 2s y at-least-once, separaría el sistema en tres capas: ingest, fan-out, delivery. Para ingest, una API que escribe a Kafka particionado por user_id. El fan-out lo haría con workers consumiendo del topic y...
Mencionaste Kafka particionado por user_id. ¿Qué pasa si un usuario tiene tráfico viral — un creator con 10M seguidores — y todas las notificaciones caen a la misma partición?
···