RENO de Netflix mantiene la experiencia consistente en todos los dispositivos
Netflix ha desarrollado Sistema de notificación rápida de eventos (RENO) para crear una experiencia de usuario unificada en todas las plataformas y dispositivos. RENO responde más rápido y de manera más consistente que el modelo tradicional de solicitud/respuesta a las acciones generadas por el usuario, que van desde ver el título hasta intercambiar información de perfil.
Según él, Netflix actualmente atiende a 222 millones de suscriptores de pago. la última carta del accionistay apoya un amplia gama de equipos desde teléfonos inteligentes y computadoras portátiles hasta dispositivos electrónicos para el hogar, como televisores inteligentes y consolas de juegos modernas. La combinación de estas dos características crea desafíos de escalabilidad, compatibilidad y sostenibilidad.
Gráfico de arquitectura RENO de Netflix – Fuente: Blog de tecnología de Netflix
Netflix tomó un par de decisiones de diseño importantes para enfrentar los desafíos de escalamiento que enfrentó. RENO segmenta los eventos entrantes según la prioridad y los enruta a AWS específicos de prioridad SQS colas y clústeres correspondientes de instancias informáticas. Esto ayudará a entregar actualizaciones más importantes, como “cambiar la edad del perfil“Para dispositivos Netflix más rápido. Los eventos también pasan por el filtro de caducidad y no se procesan si superan un umbral específico, porque muchos eventos tienen poco o ningún valor si no se envían casi inmediatamente.
A diferencia de los sistemas de notificación push-only tradicionales como AWS redes sociales, RENO introdujo un modelo de entrega push-and-pull que envía notificaciones a los dispositivos en línea de la mejor manera posible y extrae regularmente el ciclo de vida de la aplicación. Esto garantiza que los sistemas se actualicen constantemente con eventos generados por los usuarios y respondan mejor a los desafíos de compatibilidad en una variedad de plataformas y tipos de dispositivos, especialmente los dispositivos heredados que no admiten notificaciones automáticas. Este modelo aprovecha La plataforma de comunicación con el cliente de Netflix enviar notificaciones a dispositivos móviles, utilizar Empuje zuul Para TV y otros dispositivos de transmisión y utiliza la base de datos de Cassandra para almacenar el historial de eventos para consultas largas.
El último informe sobre las tendencias de arquitectura y diseño de InfoQ colocó la sostenibilidad en la categoría de los primeros usuarios del diseño. La elasticidad se puede observar en muchas capas de RENO. La cola distribuida de prioridad de eventos y el grupo de procesamiento mencionados anteriormente están segmentados. Aunque uno o más de los clústeres de cola y procesamiento pueden fallar, sus hermanos no se verán afectados y todo el sistema debería permanecer disponible. De manera similar, el sistema de mensajería saliente tiene un patrón de despliegue que entrega notificaciones por dispositivo y tipo de plataforma, de modo que “si el servicio o la plataforma inferior no entrega una notificación, no se impide que otros dispositivos reciban notificaciones automáticas”.
RENO tuvo éxito en Netflix y rápidamente se posicionó como un servicio de notificación rápido y centralizado para todas las áreas de productos de Netflix. Actualmente, RENO no es una fuente de código abierto, aunque algunas herramientas de soporte sí lo son, como Zuulutilizados en equipos operados en RENO, y Mantisutilizado para la observación en RENO.