Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf

FlavioGanci 1,151 views 18 slides Sep 24, 2022
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

sistemas distribuidos


Slide Content

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 1/18
ACERVO LIMA
La mayor colección de tutoriales y referencias
DISEÑO DE SISTEMAS NETFLIX: UNA
ARQUITECTURA COMPLETA
¿Puedes diseñar Netflix en 45 minutos? 
¿¿¿Qué??? Hablas en serio ?? (Puedo verlo toda la noche pero…). ¿Es imposible
explicar incluso un solo componente de Netflix y me estás pidiendo que lo diseñe en
solo 45 minutos en poco tiempo? 
Sí, esto es lo que se espera que haga en las entrevistas de diseño de su sistema si
desea conseguir el trabajo de sus sueños en las grandes empresas tecnológicas.
Diseñar Netflix es una cuestión bastante común de ronda de diseño de sistemas en
las entrevistas. Muchos candidatos le temen a esta ronda más que a la ronda de
codificación porque no tienen la idea de qué temas y compensaciones deberían cubrir
dentro de este período de tiempo limitado. En primer lugar, recuerde que la ronda de
diseño del sistema es extremadamente abierta y no existe una respuesta estándar.
Incluso para la misma pregunta, tendrá una discusión totalmente diferente con
diferentes entrevistadores. 

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 2/18
En este blog, discutiremos cómo diseñar un sitio web como Dropbox o Google Drive,
pero antes de continuar, queremos que lea el artículo “ ¿Cómo descifrar el diseño de
sistemas en entrevistas? ”. Tendrá una idea de cómo se ve esta ronda, qué se espera
que haga en esta ronda y qué errores debe evitar frente al entrevistador. 
Arquitectura del sistema de alto nivel de Netflix
Todos estamos familiarizados con los servicios de Netflix. Maneja grandes categorías
de contenido de películas y televisión y los usuarios pagan el alquiler mensual para
acceder a estos contenidos. Netflix tiene más de 180 millones de suscriptores en más
de 200 países.  
Netflix funciona en dos nubes… AWS y Open Connect . Estas dos nubes funcionan
juntas como la columna vertebral de Netflix y ambas son muy responsables de
proporcionar el mejor video a los suscriptores. 
La aplicación tiene principalmente 3 componentes ... 
Cliente: Dispositivo (interfaz de usuario) que se utiliza para explorar y reproducir
videos de Netflix. TV, XBOX, computadora portátil o teléfono móvil, etc.
OC (Open Connect ) o Netflix CDN: CDN es la red de servidores distribuidos en
diferentes ubicaciones geográficas y Open Connect es la CDN global

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 3/18
personalizada de Netflix (Red de entrega de contenido). Maneja todo lo que
involucra la transmisión de video. Se distribuye en diferentes ubicaciones y una
vez que presiona el botón de reproducción, la transmisión de video de este
componente se muestra en su dispositivo. Entonces, si está tratando de
reproducir el video en Norteamérica, el video se entregará desde la conexión
abierta (o servidor) más cercano en lugar del servidor original (respuesta más
rápida del servidor más cercano).
Backend (base de datos) : esta parte maneja todo lo que no implica la
transmisión de video (antes de presionar el botón de reproducción), como
incorporar nuevo contenido, procesar videos, distribuirlos en servidores ubicados
en diferentes partes del mundo y administrar el tráfico de la red . La mayoría de
los procesos están a cargo de Amazon Web Services.
La interfaz de Netflix está escrita en ReactJS principalmente por tres razones ...
velocidad de inicio, rendimiento en tiempo de ejecución y modularidad. Analicemos
los componentes y el funcionamiento de Netflix.  
¿Cómo Netflix incorpora una película / video?
Netflix recibe videos y contenido de muy alta calidad de las casas de producción, por
lo que antes de entregar los videos a los usuarios, realiza un procesamiento previo.
Netflix admite más de 2200 dispositivos y cada uno de ellos requiere diferentes
resoluciones y formatos. Para que los videos se puedan ver en diferentes dispositivos,
Netflix realiza una transcodificación o codificación, lo que implica encontrar errores y
convertir el video original en diferentes formatos y resoluciones. 
Netflix también crea optimización de archivos para diferentes velocidades de red. La
calidad de un video es buena cuando está viendo el video a alta velocidad de red.

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 4/18
Netflix crea múltiples réplicas (aproximadamente 1100-1200) para la misma película
con diferentes resoluciones. Estas réplicas requieren mucha transcodificación y
preprocesamiento. Netflix divide el video original en diferentes partes más pequeñas
y, utilizando trabajadores paralelos en AWS, convierte estas partes en diferentes
formatos (como mp4, 3gp, etc.) en diferentes resoluciones (como 4k, 1080p y más). 
Después de la transcodificación, una vez que tenemos varias copias de los archivos
para la misma película, estos archivos se transfieren a todos y cada uno de los
servidores de Open Connect que se encuentran en diferentes ubicaciones en todo el
mundo. 
Cuando el usuario carga la aplicación de Netflix en su dispositivo, primero entran en
escena instancias de AWS y se encargan de algunas tareas como el inicio de sesión,
las recomendaciones, la búsqueda, el historial del usuario, la página de inicio, la
facturación, la atención al cliente, etc. presiona el botón de reproducción en un video,
Netflix analiza la velocidad de la red o la estabilidad de la conexión, y luego descubre
el mejor servidor Open Connect cerca del usuario. Dependiendo del dispositivo y del
tamaño de la pantalla, el formato de video correcto se transmite al dispositivo del
usuario. Mientras mira un video, es posible que haya notado que el video aparece
pixelado y vuelve a HD después de un tiempo. esto sucede porque la aplicación sigue
verificando el mejor servidor de conexión abierta de transmisión y cambia entre
formatos (para una mejor experiencia de visualización) cuando es necesario. 
Los datos de usuario que se guardan en AWS, como búsquedas, visualización,
ubicación, dispositivo, reseñas y me gusta, Netflix los usa para crear la
recomendación de películas para los usuarios que usan el modelo de aprendizaje
automático o Hadoop. 
Ventajas de Open Connect: 

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 5/18
Menos costoso
Mejor calidad
Más escalable 
1. Equilibrador de carga elástico
ELB en Netflix es responsable de enrutar el tráfico a los servicios frontend. ELB realiza
un esquema de equilibrio de carga de dos niveles en el que la carga se equilibra en las
zonas primero y luego en las instancias (servidores).  
El primer nivel consiste en un balance por turnos básico basado en DNS. Cuando
la solicitud llega al primer balanceo de carga (ver la figura), se balancea en una de
las zonas (usando round-robin) que su ELB está configurado para usar.
El segundo nivel es una matriz de instancias de equilibrador de carga y realiza la
técnica Round Robin Balancing para distribuir la solicitud entre las instancias que
están detrás de ella en la misma zona.
2. ZUUL
ZUUL es un servicio de puerta de enlace que proporciona enrutamiento dinámico,
monitoreo, resistencia y seguridad. Proporciona un enrutamiento sencillo basado en
parámetros de consulta, URL y ruta. Entendamos el funcionamiento de sus diferentes
partes ...  
El servidor Netty asume la responsabilidad de manejar el protocolo de red, el
servidor web, la administración de conexiones y el trabajo de proxy. Cuando la

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 6/18
solicitud llegue al servidor Netty, enviará la solicitud al filtro de entrada.
El filtro de entrada es responsable de la autenticación, el enrutamiento o la
decoración de la solicitud. Luego, reenvía la solicitud al filtro de punto final.
El filtro de punto final se usa para devolver una respuesta estática o para reenviar
la solicitud al servicio de backend (o al origen, como lo llamamos). Una vez que
recibe la respuesta del servicio de backend, envía la solicitud al filtro de salida.
El filtro de salida se utiliza para comprimir el contenido, calcular las métricas o
agregar / eliminar encabezados personalizados. Después de eso, la respuesta se
envía de vuelta al servidor de Netty y luego es recibida por el cliente.
Ventajas:  
Puede crear algunas reglas y fragmentar el tráfico distribuyendo las diferentes
partes del tráfico a diferentes servidores.
Los desarrolladores también pueden realizar pruebas de carga en clústeres
recién implementados en alguna máquina. Pueden enrutar parte del tráfico
existente en estos clústeres y comprobar cuánta carga puede soportar un
servidor específico.
También puede probar nuevos servicios . Cuando actualiza el servicio y desea
verificar cómo se comporta con las requests de API en tiempo real, en ese caso,
puede implementar el servicio en particular en un servidor y puede redirigir parte
del tráfico al nuevo servicio para verificar el servicio en tiempo real.
También podemos filtrar la solicitud incorrecta estableciendo las reglas
personalizadas en el filtro de punto final o en el firewall.
3. Hystrix
En un sistema distribuido complejo, un servidor puede depender de la respuesta de
otro servidor. Las dependencias entre estos servidores pueden crear latencia y todo el
sistema puede dejar de funcionar si uno de los servidores inevitablemente falla en
algún momento. Para resolver este problema, podemos aislar la aplicación host de
estos fallos externos. La biblioteca de Hystrix está diseñada para hacer este trabajo.
Le ayuda a controlar las interacciones entre estos servicios distribuidos agregando
tolerancia de latencia y lógica de tolerancia a fallas. Hystrix hace esto aislando los
puntos de acceso entre los servicios, el sistema remoto y las bibliotecas de terceros.
La biblioteca ayuda en ...  
Detenga las fallas en cascada en un sistema distribuido complejo.
control sobre la latencia y la falla de las dependencias a las que se accede
(generalmente a través de la red) a través de bibliotecas cliente de terceros.
Falla rápido y recupérate rápidamente.
Retrocede y degrada con gracia cuando sea posible.
Habilite la supervisión, las alertas y el control operativo casi en tiempo real.

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 7/18
Almacenamiento en caché de requests consciente de la simultaneidad.
Procesamiento por lotes automatizado mediante el colapso de requests 
4. Arquitectura de microservicio de Netflix 
El estilo arquitectónico de Netflix se construye como una colección de servicios. Esto
se conoce como arquitectura de microservicios y potencia todas las API necesarias
para aplicaciones y aplicaciones web. Cuando la solicitud llega al punto final, llama a
los otros microservicios para obtener los datos requeridos y estos microservicios
también pueden solicitar los datos a diferentes microservicios. Después de eso, se
envía una respuesta completa a la solicitud de API al punto final. 
En una arquitectura de microservicio, los servicios deben ser independientes entre sí,
por ejemplo, el servicio de almacenamiento de video estaría desacoplado del servicio
responsable de la transcodificación de videos. Ahora, entendamos cómo hacerlo
confiable ... 

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 8/18
¿Cómo hacer que la arquitectura de microservicio sea confiable? 
Usa Hysterix (ya explicado)
Microservicios críticos separados: podemos separar algunos servicios críticos (o
endpoint o API) y hacerlos menos dependientes o independientes de otros
servicios. También puede hacer que algunos servicios críticos dependan solo de
otros servicios confiables. Al elegir los microservicios críticos, puede incluir
todas las funcionalidades básicas, como buscar un video, navegar a los videos,
presionar y reproducir el video, etc. De esta manera, puede hacer que los puntos
finales estén altamente disponibles e incluso en el peor de los casos al menos un
el usuario podrá hacer las cosas básicas.
Trate a los servidores como apátridas: esto puede sonar divertido para usted,
pero para entender este concepto, piense en sus servidores como un rebaño de
vacas y le importa cuántos galones de leche obtiene cada día. Si un día nota que
está obteniendo menos leche de una vaca, entonces solo necesita reemplazar
esa vaca (que produce menos leche) con otra vaca. No es necesario depender de
una vaca específica para obtener la cantidad necesaria de leche. 
Podemos relacionar el ejemplo anterior con nuestra aplicación. La idea es
diseñar el servicio de tal manera que si uno de los puntos finales está dando el
error o si no está atendiendo la solicitud de manera oportuna, entonces puede
cambiar a otro servidor y hacer su trabajo. En lugar de depender de un servidor
específico y preservar el estado en ese servidor, puede enrutar la solicitud a otra
instancia de servicio y puede activar automáticamente un nuevo nodo para
reemplazarlo. Si un servidor deja de funcionar, será reemplazado por otro.
5. Caché EV
En la mayoría de las aplicaciones, se utiliza con frecuencia cierta cantidad de datos.
Para una respuesta más rápida, estos datos se pueden almacenar en caché en tantos
puntos finales y se pueden recuperar de la caché en lugar del servidor original. Esto

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 9/18
reduce la carga del servidor original, pero el problema es que si el nodo deja de
funcionar, todo el caché se cae y esto puede afectar el rendimiento de la aplicación.
Para resolver este problema, Netflix ha creado su propia capa de almacenamiento en
caché personalizada llamada caché EV. La caché de EV se basa en Memcached y en
realidad es un contenedor de Memcached. 
Clúster Memcached de 3 nodos en 2 zonas de disponibilidad con un cliente en cada
zona

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 10/18
Netflix ha implementado muchos clústeres en varias instancias de AWS EC2 y estos
clústeres tienen tantos nodos de Memcached y también tienen clientes de caché. Los
datos se comparten en el clúster dentro de la misma zona y se almacenan múltiples
copias de la caché en nodos fragmentados. Cada vez que le ocurre una escritura al
cliente, todos los nodos de todos los clústeres se actualizan, pero cuando la lectura le
sucede al caché, solo se envía al clúster más cercano (no a todos los clústeres y
nodos) y sus nodos. En caso de que un nodo no esté disponible, lea desde otro nodo
disponible. Este enfoque aumenta el rendimiento, la disponibilidad y la confiabilidad.  
6. Base de datos
Netflix utiliza dos bases de datos diferentes, es decir, MySQL (RDBMS) y Cassandra
(NoSQL) para diferentes propósitos.  
EC2 implementado MySQL
Netflix guarda datos como información de facturación, información de usuario e
información de transacciones en MySQL porque necesita el cumplimiento de ACID.
Netflix tiene una configuración maestro-maestro para MySQL y se implementa en
grandes instancias EC2 de Amazon utilizando InnoDB. 
La configuración sigue el " Protocolo de replicación síncrona " donde si la escritura
ocurre en el nodo maestro primario, también se replicará en otro nodo maestro. El
acuse de recibo se enviará solo si se ha confirmado la escritura de los nodos maestro
primario y remoto. Esto asegura la alta disponibilidad de datos. 
Netflix ha configurado la réplica de lectura para todos y cada uno de los nodos
(locales y entre regiones). Esto asegura una alta disponibilidad y escalabilidad. 

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 11/18
Todas las consultas de lectura se redirigen a las réplicas de lectura y solo las
consultas de escritura se redirigen a los nodos maestros. En el caso de una falla de
MySQL principal principal, el nodo principal secundario asumirá el rol principal y la
entrada route53 (configuración de DNS) para la base de datos se cambiará a este
nuevo nodo principal. Esto también redirigirá las consultas de escritura a este nuevo
nodo principal principal.  
Casandra
Cassandra es una base de datos NoSQL que puede manejar grandes cantidades de
datos y también puede manejar escritura y lectura pesadas. Cuando Netflix comenzó
a adquirir más usuarios, los datos del historial de visualización de cada miembro
también comenzaron a aumentar. Esto aumenta la cantidad total de datos del historial
de visualización y se vuelve un desafío para Netflix manejar esta enorme cantidad de
datos. Netflix amplió el almacenamiento de datos del historial de visualización,
manteniendo dos objetivos principales en mente ...  
Huella de almacenamiento más pequeña.
Rendimiento de lectura / escritura constante a medida que aumenta la
visualización por miembro (la proporción de lectura / escritura de datos del
historial de visualización es de aproximadamente 9: 1 en Cassandra).

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 12/18
Modelo de datos total desnormalizado  
Más de 50 grupos de Cassandra
Más de 500 nodos
Más de 30 TB de copias de seguridad diarias
El clúster más grande de 72 nodos.
1 clúster de más de 250 K escrituras / s
Inicialmente, el historial de visualizaciones se almacenaba en Cassandra en una sola
fila. Cuando los usuarios comenzaron a aumentar en Netflix, el tamaño de las filas y el
tamaño general de los datos aumentaron. Esto resultó en un alto almacenamiento,
más costos operativos y un rendimiento lento de la aplicación. La solución a este
problema fue comprimir las filas antiguas ... 
Netflix dividió los datos en dos partes ...  
Historial de visualización en vivo (LiveVH): esta sección incluyó la pequeña
cantidad de datos históricos de visualización recientes de usuarios con
actualizaciones frecuentes. Los datos se utilizan con frecuencia para los trabajos
ETL y se almacenan sin comprimir.
Historial de visualización comprimido (CompressedVH): en esta sección se
clasifican una gran cantidad de registros de visualización más antiguos con
actualizaciones raras. Los datos se almacenan en una sola columna por clave de
fila, también en forma comprimida para reducir el espacio de almacenamiento.
7. Procesamiento de datos en Netflix con Kafka y Apache Chukwa
Cuando haces clic en un video, Netflix comienza a procesar datos en varios términos y
toma menos de un nanosegundo. Analicemos cómo funciona la canalización de la

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 13/18
evolución en Netflix. 
Netflix usa Kafka y Apache Chukwe para ingerir los datos que se producen en una
parte diferente del sistema. Netflix proporciona casi 500 mil millones de eventos de
datos que consumen 1,3 PB / día y 8 millones de eventos que consumen 24 GB /
segundo durante la hora pico. Estos eventos incluyen información como ...  
Registros de errores
Actividades de la interfaz de usuario
Eventos de rendimiento
Actividades de visualización de videos
Eventos de diagnóstico y resolución de problemas.
Apache Chukwe es un sistema de recopilación de datos de código abierto para
recopilar registros o eventos de un sistema distribuido. Está construido sobre HDFS y
el marco Map-reduce. Viene con las características de escalabilidad y robustez de
Hadoop. Además, incluye un conjunto de herramientas potente y flexible para mostrar,
monitorear y analizar el resultado. Chukwe recopila los eventos de diferentes partes
del sistema y desde Chukwe puede hacer monitoreo, análisis o puede usar el tablero
para ver los eventos. Chukwe escribe el evento en el formato de secuencia de archivo
Hadoop (S3). Después de eso, el equipo de Big Data procesa estos archivos de S3
Hadoop y escribe Hive en formato de datos Parquet. Este proceso se denomina
procesamiento por lotes, que básicamente escanea todos los datos con una
frecuencia horaria o diaria. 
Para cargar eventos en línea en EMR / S3, Chukwa también proporciona tráfico a
Kafka (puerta principal en el procesamiento de datos en tiempo real). Kafka es
responsable de mover datos desde el frente de Kafka a varios sumideros: S3,
Elasticsearch y Kafka secundario. El enrutamiento de estos mensajes se realiza
mediante el marco de Apache Samja . Los envíos de tráfico de Chukwe pueden ser
flujos completos o filtrados, por lo que a veces es posible que deba aplicar más filtros
en los flujos de Kafka. Esa es la razón por la que consideramos que el enrutador
puede llevar de un tema de Kafka a un tema de Kafka diferente.  
8. Búsqueda elástica
En los últimos años, hemos visto un crecimiento masivo del uso de Elasticsearch
dentro de Netflix. Netflix ejecuta aproximadamente 150 clústeres de búsqueda
elástica y 3500 hosts con instancias. 
Netflix está utilizando la búsqueda elástica para la visualización de datos, la atención
al cliente y para detectar algunos errores en el sistema. Por ejemplo, si un cliente no
puede reproducir el video, el ejecutivo de atención al cliente resolverá este problema
mediante la búsqueda elástica. El equipo de reproducción va a la búsqueda elástica y

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 14/18
busca al usuario para saber por qué el video no se reproduce en el dispositivo del
usuario. Llegan a conocer toda la información y los eventos que suceden para ese
usuario en particular. Llegan a saber qué causó el error en la transmisión de video. El
administrador también utiliza la búsqueda elástica para realizar un seguimiento de
cierta información. También se utiliza para realizar un seguimiento del uso de
recursos y para detectar problemas de registro o inicio de sesión.  
9. Recomendación de Apache Spark para películas
Netflix utiliza Apache Spark y el aprendizaje automático para la recomendación de
películas. Entendamos cómo funciona con un ejemplo. Cuando carga la página
principal, ve las múltiples filas de diferentes tipos de películas. Netflix personaliza
estos datos y decide qué tipo de filas o qué tipo de películas deben mostrarse a un
usuario específico. Estos datos se basan en los datos históricos y las preferencias del
usuario. Además, para ese usuario específico, Netflix clasifica las películas y calcula
la clasificación de relevancia (para la recomendación) de estas películas disponibles
en su plataforma. 
En Netflix, Apache Spark se usa para recomendaciones de contenido y
personalización. La mayoría de las canalizaciones de aprendizaje automático se
ejecutan en estos grandes clústeres de chispa. Estas canalizaciones se utilizan para
seleccionar filas, ordenar, clasificar por relevancia de títulos y personalizar las
ilustraciones, entre otros. 
Personalización de ilustraciones
Cuando abres la página principal de Netflix, es posible que hayas notado las imágenes
de cada video ... estas imágenes se llaman imágenes de encabezado (miniatura).
Netflix quiere el máximo de clics para los videos de los usuarios y estos clics
dependen de las imágenes del encabezado. Netflix tiene que elegir la imagen de
encabezado convincente correcta para un video específico. Para hacer eso, Netflix
crea múltiples obras de arte para una película específica y muestran estas imágenes a
los usuarios al azar. Para la misma película, las imágenes pueden ser diferentes para
diferentes usuarios. Según sus preferencias y su historial de visualización, Netflix
predice qué tipo de películas le gustan más o qué actores le gustan más en una
película. Según los gustos de los usuarios, se les mostrarán las imágenes. 
Por ejemplo, suponga que ve 9 imágenes diferentes de su película favorita Good will
hunting en tres filas (si le gustan las comedias, se mostrarán imágenes de Robin
Williams para esta película. Si le gustan las películas románticas, Netflix le mostrará la
imagen de Matt Damon y Minnie Driver). Ahora, Netflix calcula la cantidad de clics que
recibe una determinada imagen. Si los clics para la imagen central de la película son
1, 500 veces y las otras imágenes tienen menos clics, Netflix hará que la imagen

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 15/18
central sea una imagen de encabezado para la película Good Will Hunting para
siempre. Esto se llama basado en datos y Netflix realiza el análisis de datos con este
enfoque. Para tomar la decisión correcta, los datos se calculan en función del número
de vistas asociadas con cada imagen. 
Sistema de recomendación de video
Si un usuario desea descubrir algún contenido o video en Netflix, el sistema de
recomendación de Netflix ayuda a los usuarios a encontrar sus películas o videos
favoritos. Para construir este sistema de recomendación, Netflix tiene que predecir el
interés del usuario y recopila diferentes tipos de datos de los usuarios, como ...  
Interacción del usuario con el servicio (historial de visualización y cómo el
usuario calificó otros títulos)
Otros miembros con gustos y preferencias similares.
Información de metadatos de los videos vistos anteriormente para un usuario,
como títulos, género, categorías, actores, año de lanzamiento, etc.
Dispositivo del usuario, en qué momento un usuario está más activo y durante
cuánto tiempo está activo.
Netflix usa dos algoritmos diferentes para construir un sistema de recomendación ... 
1. Filtrado colaborativo: la idea de este filtrado es que si dos usuarios tienen un
historial de calificación similar, se comportarán de manera similar en el futuro. Por
ejemplo, considere que hay dos personas. A una persona le gustó la película y la
calificó con una buena puntuación. Ahora, existe una buena posibilidad de que la otra
persona también tenga un patrón similar y haga lo mismo que hizo la primera
persona. 

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 16/18
2. Filtrado basado en contenido: La idea es filtrar aquellos videos que son similares al
video que le ha gustado a un usuario antes. El filtrado basado en contenido depende
en gran medida de la información de los productos, como el título de la película, el año
de lanzamiento, los actores y el género. Entonces, para implementar este filtrado, es
importante conocer la información que describe cada elemento y también es
deseable algún tipo de perfil de usuario que describa lo que le gusta al usuario.  
Curso de diseño de sistemas GeeksforGeeks
¿Quiere conseguir un trabajo de desarrollador / ingeniero de software en una empresa
de tecnología líder? o ¿Quiere hacer una transición sin problemas de SDE I a SDE II o
perfiles de desarrollador sénior? En caso afirmativo, ¡debe sumergirse profundamente
en el mundo del diseño de sistemas! Un dominio decente sobre los conceptos de
diseño de sistemas es muy esencial, especialmente para los profesionales que
trabajan, para obtener una ventaja muy necesaria sobre los demás durante las
entrevistas técnicas.  
Y es por eso que GeeksforGeeks le ofrece un curso en vivo de Diseño de sistemas
centrado en entrevistas en profundidad que lo ayudará a prepararse para las
preguntas relacionadas con los diseños de sistemas para Google, Amazon, Adobe,
Uber y otras empresas basadas en productos.

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 17/18
Anterior Próximo
BY ANUUPADHYAY AND TRANSLATED BY ACERVO LIMA FROM SYSTEM DESIGN NETFLIX
– A COMPLETE ARCHITECTURE. LICENSE: CCBY-SA
System-Design GBlog
LATEST POSTS
MOST POPULAR POSTS
Experiencia de entrevista de Epicor
Experiencia de entrevista de Ebix
Experiencia de entrevista Pickyourtrail (SET 1)
C-DOT (Experiencia de entrevista a tiempo completo)
Diferencia máxima de peso
¿Cómo redondear números en Python?
10 mejores IDE para desarrolladores de C o C++ en 2021
¿Cuál es la probabilidad de obtener un 10 o una jota de una baraja de 52 cartas?
¿Cómo sumar y restar días usando DateTime en Python?
Formas de importar archivos CSV en Google Colab

7/6/22, 16:48 Diseño de sistemas Netflix: una arquitectura completa – Acervo Lima
https://es.acervolima.com/diseno-de-sistemas-netflix-una-arquitectura-completa/ 18/18
ACERVO LIMA
Acervo Lima provides translations of articles published on GeekForGeeks for several languages.
MAIN CATEGORIES
Python
JavaScript
PHP
Java
MORE CATEGORIES
GBlog
Golang
Kotlin
Ruby
CONTACT
Icapuí-CE, Brasil
[email protected]
© 2022 Acervo Lima, Some rights reserved
Tags