[Définition] Cache, Load Balancer : qu'est-ce que c'est ?

[Définition] Cache, Load Balancer : qu'est-ce que c'est ?


Le cache : qu'est-ce que c'est ?

Le cache est un mot qui revient très souvent dans le monde de la création des sites Internet. Mais au final, qu'est-ce que c'est ? Wikipedia en propose la définition suivante :

\"Une mémoire cache ou antémémoire est, en informatique, une mémoire qui enregistre temporairement des copies de données provenant d'une autre source de données comme les mémoires, afin de diminuer le temps d'accès (en lecture ou en écriture) d'un matériel informatique (en général, un processeur) à ces données.\"

En bref, le cache existe pour garder en mémoire quelques éléments d'une page et donc diminuer le temps de chargement de celle-ci lors d'une visite ultérieure.

Ce fameux cache se retrouve à de nombreux endroits. Load Balancer, Navigateur, CMS, Base de données ont tous la possibilité d'améliorer les performances d'un site et de le rendre plus robuste. Ils stockent certains éléments des pages afin de ne pas avoir à refaire des calculs à chaque appel. Drupal 7 possède, par exemple, en système de cache intégré permettant d'accélérer le chargement des pages de façon remarquable.

Mais un problème demeure : plus il y a de visites, plus le site doit afficher de pages, et plus il doit afficher de pages, plus le serveur est sollicité. Tous les systèmes de cache internes au CMS sollicitent aussi le serveur pour l'affichage des pages en cache ce qui les rend inefficaces à haut trafic. Il faut donc trouver un moyen de casser le rapport entre le nombre de visites et les appels au serveur, autrement nommés \"Hits\".

Le load balancer ou répartiteur de charge

C'est le rôle du load balancer (Comprenez un Reverse Proxy Cache Load balancer). Ce répartiteur de charge, distinct de celui qui héberge le site, est responsable de gérer le nombre de hits sur ce dernier. Bien configuré, il est capable de répondre à des règles afin de réduire le nombre de combinaisons possibles entre visiteurs et pages à afficher.

Un exemple simple : le texte de la page des mentions légales de votre site est le même pour tous les visiteurs ? Il est donc inutile de redemander cette page au serveur à chaque fois qu'un utilisateur veut y accéder. Pourtant, bon nombre de sites Internet affichent le nom et le prénom de l'utilisateur connecté sur cette page. Si l'on regarde le code HTML de la page, il y a donc une version de cette page pour chaque visiteur. Le load balancer est donc obligé d'interroger le serveur à chaque visite, multipliant ainsi le nombre de hits.