Aujourd’hui, j’ai découvert ce qu’est un CDN Content Delivery Network ou réseau de diffusion de contenu en français. C’est un groupe de serveur qui permet d’accélérer l’accès au contenu web en rapprochant les sources de données des utilisateurs.
Le principe est simple, un serveur principal envoie des copies des données à des serveurs distants plus proche de l’utilisateur final (cf schéma ci-dessous).
Les CDN ont beaucoup de valeur pour les contenus lourds tels que le streaming vidéo et les images.
Un CDN est composé de 3 types de serveurs :
- Le serveur original qui contient les données. Il fait office de vérité sur le contenu.
- Les serveurs de relais qui sont mis à jour de façon asynchrone et qui distribue le contenu.
- Les serveurs DNS qui permettent qui ont la connaissance de tous les serveurs et qui permettent de rediriger vers le serveur disponible le plus proche de l’utilisateur.
Je retiens 3 grands avantages des CDN (il en existe d’autres) :
- réduire la latence en approchant la source de données des utilisateurs
- équilibrer la charge du réseau en mettant à disposition plusieurs points d’accès
- assurer un service plus stable car on peut toujours rediriger sur un autre serveur en cas de pannes / maintenances
On peut citer UNPKG qui est un CDN permettant de récupérer n’importe quel contenu de NPM dans une page HTML.