Etude de l'architecture distribuée dans Netflix c
Gestion de fichiers vidéos
Accessibles depuis application ou mobile
Elle est disponible 24h/24 7j/7
Répartis sur plusieurs PCs.
Qu’est-ce qu’un Datacenter ?
Salle avec des baies
Des cartes réseau
Un « serveur » c’est tout sauf une machine, c’est trop vaste
Lame : u ou 2u ou 10u
Lignes haut débit
Générateurs électriques en cas de panne : redondance electrique
Climatisation
Systèmes intrusion physique (malveillance)
Logique ?
Scalabilité
Redondance
Service de stockage déporté.
Centralisation de données et de traitements
Portail web
Déployer notre solution sur 2 data centers différents, avec mise en place de réplication.
Formats : H263…
Différents formats car ceux qui sont ADSL et pas fibre optique n’auront qu’une faible définition
Freebox/livrebox
Jaquettes, promotions, moteur de recherche
On a une base de donnée derrière sur laquelle on fait des requêtes SQL
Requêtes dernières sorties
Requêtes films plus vus, etc.
Pourquoi la répliquer ? Si elle crashe on accède à la réplique.
SPOF
Single point of failure : chaque maillon de la chaine est indispensable au fonction du tout. Si un maillon ne fonctionne plus, toute la chaine ne fonctionne plus
Exemple, il regarde la catégorie « aventure », pendant ce temps, je télécharge les index des films aventures.
Chaine :
Application -> services -> données
Une question? Posez-la ici
« fonctionnement dégradé »
on fait croire que l’application fonctionne bien alors qu’on a perdu un maillon.
Anticiper les scénarios
gérer le retour automatique du nœud qu’on a perdu.
A un moment donné, on ne pourra plus dissimuler les pannes
On met en place une réplication de base de donnée
Baie différente
Onduleur différent
Réseau différent
Il faut les mettre dans 2 datacenters différents.
Plusieurs datacenters en France, Paris, Bordeaux, Lyon
Le SGBD est distribué, on crée un cluster de base de donnée : on a des instances
Oracle, mysql, PostgreSQL, etc.
Base de donnée : Netflix crée à l’interieur d’un SGBDR
Cluster : avec 3 instances, une à Paris, une à Marseille, une à Lyon
Réplication temps-réel
Il existe des mécanismes logiciels entre les instances des bases de données qui mettent en stand-by les écritures des bases : trop compliqué
Réplication journalisée
On peut la faire tranquillement à 4h du matin, parce que les gens dorment à 4h en général.
Le client n’a pas conscience du cluster, ne sait pas combien il y a de nœuds.
Exemple : avec Google le moteur de recherche, on ne sait pas
Y a-t-il un moyen de savoir ? Pour les informaticiens, requetes DNS, MAC
Pour le commun des mortels, il faut taper www.google.fr et que ca réponde
Gérer les cas dégradés
Une question? Posez-la ici
Qu’est-ce que le streaming ?
un programme lit un fichier, et discute avec un autre programme, le lecteur vidéo
UDP protocole niveau 4
Le lecteur buffeurise pour avoir du 16 images par secondes
Il faut que le programme décompresse vite
Il faut que la bande passante soit suffisante
4K = 1000 mises à jour d’images par secondes
SI 4K, pas possible, on teste 1080P, s’il ne peut pas, on lui met du 720p, etc.
Automatiquement, le programme s’adapte à la vitesse et choisi le bon format encodé.
Une application distribuée est capable de s’adapter.
« Je ne suis pas capable de vous envoyer une vidéo dans ce format, je vous l’envoie dans un autre format »
Exemple : le téléphone, il passe de la 4G à la 3G, à la 2G…
Une question? Posez-la ici
En architecture distribuée, on développe le logiciel en ayant pour objectif que les pannes soient les plus transparentes, les moins visibles, que l’experience utilisateur ne soit pas dégradée
Toutes les solutions déployées sur le Cloud sont des solutions distibuées, sûr à 100%
FFMPEG ? AVCONV Programme qui convertit les vidéos
On va modéliser Netflix :
Exemple une série française : MARSEILLE, avec Gérard Depardieu
On prend les 10 épisodes et on les convertit dans les différents formats
Besoin d'aide en infrastructure distribuée?
Remplissez ce formulaire