Le partage de cache permet à plusieurs noms de domaine accélérés sous le même compte Alibaba Cloud de partager les ressources mises en cache sur les points de présence (POP) du CDN. Lorsque plusieurs domaines diffusent de nombreux actifs communs, tels que des images, des fichiers CSS et JavaScript, la configuration du partage de cache évite les requêtes redondantes vers l'origine. Cela améliore le taux de succès du cache et réduit le trafic vers l'origine.
Fonctionnement du partage de cache
Après avoir configuré le partage de cache, le CDN réécrit l'en-tête Host à l'aide de la fonction rewrite_host. L'en-tête Host de la requête vers l'origine est remplacé par celui du domaine cible (paramètre share_host). Ainsi, les requêtes provenant de différents noms de domaine apparaissent comme une seule et même ressource au niveau du POP CDN. Une fois le partage de cache configuré pour un nom de domaine accéléré, le domaine partagé remplace le domaine accéléré uniquement lors de la recherche et de la génération de la clé de cache. Cela n'affecte ni l'URL d'origine ni l'hôte d'origine du domaine accéléré.
Supposons deux noms de domaine, a.example.com et b.example.com, qui utilisent tous deux le même framework Bootstrap et font référence aux mêmes fichiers image, CSS et JS. Le comportement du CDN diffère selon que le partage de cache est configuré ou non.
Sans partage de cache
Par défaut, chaque nom de domaine dispose d'un espace de cache indépendant. Même si deux domaines pointent vers le même serveur d'origine, les POP CDN les traitent comme des ressources distinctes, car le nom de domaine fait partie de la clé de cache.
L'utilisateur 1 accède à
a.example.com/image.png. L'image est mise en cache dans l'espace dea.example.com.L'utilisateur 2 accède à
b.example.com/image.png. Bien que l'image existe déjà dans le cache dea.example.com, le CDN la récupère à nouveau depuis le serveur d'origine et la met en cache séparément dans l'espace deb.example.com.
Il en résulte une mise en cache dupliquée et des requêtes redondantes vers l'origine pour des ressources identiques.
Avec partage de cache
L'utilisateur 1 accède à
a.example.com/image.png. L'image est stockée dans l'espace de cache partagé.L'utilisateur 2 accède à
b.example.com/image.png. Le CDN identifie la ressource comme identique et la sert directement depuis le cache partagé sans interroger l'origine.
Les ressources ne sont récupérées qu'une seule fois depuis le serveur d'origine. Les requêtes suivantes, quel que soit le nom de domaine, sont servies directement depuis le cache partagé.
Même origine : comportement du cache partagé
Lorsque deux noms de domaine partagent la même URL d'origine (par exemple, les deux utilisent origin.example.com), ils récupèrent naturellement les ressources depuis la même origine. Avec le partage de cache activé, les requêtes des deux domaines correspondent aux mêmes entrées de cache, partageant ainsi un seul espace de stockage.
Origines différentes : partage de cache inter-origines
Lorsque deux noms de domaine utilisent des URL d'origine différentes, le partage de cache permet tout de même la réutilisation du cache entre origines. Par exemple, si origin-a.example.com et origin-b.example.com diffusent des ressources situées aux mêmes chemins d'URL, le partage de cache remplace le nom de domaine accéléré par le domaine partagé lors de la génération de la clé de cache.
Quand utiliser le partage de cache
Utilisez le partage de cache lorsque :
Vous disposez de deux noms de domaine accélérés ou plus sous le même compte Alibaba Cloud.
Plusieurs domaines diffusent des actifs statiques identiques ou largement chevauchants.
Vous souhaitez réduire les requêtes redondantes vers l'origine causées par les échecs de cache entre les domaines.
N'utilisez pas le partage de cache lorsque :
Vous ne possédez qu'un seul nom de domaine accéléré.
Vos domaines diffusent un contenu entièrement différent sans aucun actif partagé.
Votre contenu est principalement dynamique et ne se prête pas à la mise en cache CDN.
Prérequis
Avant de configurer le partage de cache, assurez-vous de disposer des éléments suivants :
Un compte Alibaba Cloud avec le service CDN activé
Au moins deux noms de domaine accélérés à l'état Enabled sous le même compte
Des autorisations d'utilisateur Resource Access Management (RAM) pour la configuration de la console CDN, si vous utilisez un utilisateur RAM
Limites
Nombre maximal de candidats — La liste des candidats affiche jusqu'à 500 noms de domaine.
Isolation par groupe de ressources — Si le domaine actuel appartient à un groupe de ressources spécifique, la liste des candidats est filtrée selon ce groupe.
Sélection unique — Le partage de cache ne prend en charge qu'un seul domaine cible. Il n'est pas possible de configurer plusieurs cibles partagées simultanément.
Protection contre la suppression — Lorsque la cible de partage de cache du domaine A est définie sur le domaine B, le système empêche la suppression du domaine B. Vous devez d'abord supprimer ou modifier la configuration de partage de cache sur le domaine A avant de pouvoir supprimer le domaine B.
Notes d'utilisation
La suppression d'un domaine accéléré partagé diminue le taux de succès du cache pour les autres domaines qui utilisaient son cache. Soyez prudent lorsque vous désactivez ou supprimez un domaine.
Le transfert d'un domaine accéléré utilisant le partage de cache vers un autre compte conserve la configuration de partage sur le domaine transféré. Toutefois, comme le partage de cache fonctionne uniquement au sein d'un même compte, il peut être nécessaire de reconfigurer la cible si celle-ci reste dans le compte d'origine.
Configurer le partage de cache
Connectez-vous à la console CDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, repérez le domaine cible.
Dans le volet de navigation de gauche de la page des détails du domaine, cliquez sur Cache.
Cliquez sur l'onglet Cache Sharing.
Cliquez sur Configure.
-
Dans la boîte de dialogue qui s'affiche, sélectionnez un nom de domaine accéléré cible dans la liste déroulante.
La liste déroulante affiche uniquement les noms de domaine accélérés à l'état Enabled sous le compte actuel. Utilisez la zone de recherche pour effectuer une recherche approximative. Jusqu'à 500 domaines candidats sont affichés. La liste exclut automatiquement le domaine que vous configurez actuellement.
Cliquez sur OK pour enregistrer la configuration.
Une fois la configuration terminée, le domaine de cache partagé configuré apparaît dans l'onglet Cache Sharing.
Modifier la configuration du partage de cache
Accédez à la page pour le domaine cible.
Cliquez sur Configure.
Dans la boîte de dialogue qui s'affiche, sélectionnez un nouveau domaine accéléré cible et cliquez sur OK.
Une fois la modification enregistrée, le nouveau domaine cible s'affiche dans l'onglet Cache Sharing. Les requêtes provenant du domaine actuel utiliseront désormais l'espace de cache du nouveau domaine cible au niveau des POP CDN.
Supprimer la configuration du partage de cache
Accédez à la page pour le domaine cible.
Cliquez sur Delete Configuration.
Dans la boîte de dialogue de confirmation, cliquez sur OK.
Une fois la suppression effectuée, la page affiche Not configured. Le domaine reprend l'utilisation de son espace de cache indépendant. Le contenu précédemment partagé n'est plus accessible depuis la perspective de ce domaine.
FAQ
Différents noms de domaine peuvent-ils partager du contenu mis en cache sans configurer le partage de cache ?
Non. La clé de cache du CDN inclut le nom de domaine ; par conséquent, les requêtes adressées à différents domaines sont traitées comme des ressources distinctes. Cela s'applique même lorsque les deux domaines demandent le même fichier depuis le même serveur d'origine.
Pourquoi le taux de succès du cache ne s'est-il pas amélioré après la configuration ?
Pour résoudre ce problème, vérifiez les deux points suivants :
Assurez-vous que les deux noms de domaine pointent vers les mêmes URL de ressources exactes (chemins de fichiers). Si les chemins diffèrent, le système les traite comme des fichiers séparés et le cache ne fonctionne pas comme prévu.
Vérifiez vos paramètres d'expiration du cache (TTL). Assurez-vous qu'ils sont définis de manière raisonnable. Si la durée d'expiration est trop courte, le cache expire avant de pouvoir être réutilisé, ce qui empêche l'augmentation du taux de succès.