mardi 30 octobre 2012
La mise en cache de contenu Web expliquée
Le champ de mines qui est mise en cache du contenu Web peut être déroutant et compliqué!
C'est une de ces caractéristiques qui se repose vraiment entre le réseau et l'application. Dans de nombreuses entreprises de cette zone grise n'a pas de véritable appropriation et à ce titre, les erreurs sont fréquentes.
Je veux prendre un peu de temps pour explorer et nous espérons simplifier ce domaine complexe.
Donc, il faut tout d'abord répondre à la question de ce qui est un cache de contenu et pourquoi l'utilisez pas?
Un cache de contenu est un morceau de logiciel ou un appareil conçu pour s'asseoir en face du serveur d'applications. Son travail consiste à intercepter certaines demandes et d'y répondre au nom de l'application réduisant ainsi le nombre de hits envoyés à l'arrière-plan rompt.
Généralement, les demandes qui sont interceptés ont déjà été vu avant, de sorte que le cache va stocker les réponses à ces demandes et, si elle intercepte une demande similaire, il peut répondre de la même manière.
Un exemple simple serait un cache d'image. Le client (navigateur par exemple) serait une réponse au serveur web d'une image. La première fois que cette image est demandé, le cache devra l'obtenir à partir du serveur Web mais pour les requêtes suivantes il suffit de le servir directement.
L'idée est que le serveur Web aura beaucoup moins de travail à faire que le cache peut servir beaucoup du contenu. Les implications de cette réalité dépendent de la configuration, l'application et le contenu exacts mais ils sont généralement s'intégrer dans ce qui suit:
1. Réduisez la charge sur les serveurs web / application - Enregistrer sur le matériel serveur d'application et les coûts de licence.
2. Réduisez la charge sur les intergiciels et les systèmes BD adossés à des créances.
3. Servir le contenu plus rapidement - Les caches peuvent être très rapide!
4. Cache le contenu plus proche de vos utilisateurs. C'est une question intéressante. Le cache n'est pas toujours besoin d'être au même emplacement que le reste du système. Vous pouvez utiliser un bon cache de construire votre propre système simple distribution de contenu pour vous assurer que vos utilisateurs d'obtenir le contenu d'une source aussi près d'eux que possible. Qui a dit que un CDN (Content Distribution Network) doit coûter la terre!
Bon, vous avez décidé que vous voudrez peut-être utiliser un cache, de sorte que faire? Le plus gros problème avec la mise en cache de contenu est tout simplement décider quoi et pour combien de temps vous souhaitez mettre en cache de contenu. Cela paraît simple mais le défaut de ce faire dans le passé a donné plus d'un gestionnaire de réseau / application propriétaire d'une crainte réelle de la mise en cache. Vous ne voulez pas qu'un utilisateur se solde du compte de l'utilisateur précédent!
Cependant, pour vraiment tirer le meilleur parti des capacités qu'un cache de contenu moderne peut offrir, nous devons comprendre le tableau complet. Le comportement de l'application, la mise en cache et le comportement du navigateur.
Prenons un coup d'oeil sur ce qui se passe généralement quand une image est demandée par un serveur web par un navigateur.
1. L'utilisateur demande une image à regarder.
2. Le cache remarquerez qu'il n'a pas vu cette demande avant et ne seront donc en faire la demande à partir du serveur Web.
3. Le serveur Web obtiendrez l'image et l'envoyer vers le cache.
Important. Le serveur Web décidera si cette image ne peut être cachée ou non. Il instruire les appareils en amont tels que le cache et, finalement, le client s'il doit être mis en cache ou non. Il le fait en utilisant en-tête HTTP spécifique. (Je ne veux pas geek à ce sujet, dans cet article car il peut être trop complexe.)
4. Maintenant, ça devient intéressant, car le cache devra décider dans quelle direction aller. Est-il obéir aux règles du serveur Web ou faut-il la remplacer par ses propres règles? Nous discuterons de cela plus tard.
5. Ainsi, l'image est maintenant envoyé vers le client et pour compliquer les choses, le client également mettre en cache le contenu et également regarder dehors pour l'en-tête de contrôle du cache.
Ainsi nous pouvons voir que non seulement nous avons à décider sur les règles de mise en cache d'application, mais aussi la façon dont nous voulons que le cache se comporter en amont. Si nous faisons ce droit, on peut même réduire le nombre de hits qui atteignent le cache réseau et donc en premier lieu.
Nous avons donc maintenant une idée approximative de ce qui se passe, alors comment pouvons-nous mettre en place un cache?
Une méthode générale est décrite dans "la lumière" détail ci-dessous.
1. Décidez ce que vous voulez mettre en cache et pour combien de temps -. Je tiens donc à mettre en cache toutes les images pendant 24 heures ou toutes les deux secondes pour asp * etc Ceux-ci peuvent se compliquent.
2. Soyez certain que vous êtes heureux avec ces règles.
3. Maintenant, vous pouvez réessayer.
4. Configurer le cache pour supprimer les en-têtes de contrôle de cache de la réponse du serveur Web. En d'autres termes ignorer toute configuration de commandes de mise en cache sur le serveur web - Nous supposons que nous savons comment créer un ensemble de règles plus précises.
5. Configurer le cache avec ces nouvelles règles et aussi d'expiration dates / durées.
6. Configurer le cache pour ajouter des contrôles cache nouvelles pour le client. De contrôle de cache côté client est dure comme les navigateurs de respecter ces règles avec plus ou moins de succès. Ce n'est pas vraiment dans le cadre de cet article, mais je peux y revenir.
7. Document - Ces règles peuvent être complexes et faire intervenir pour parler aux gens dans différentes parties de l'entreprise pour comprendre l'application, par conséquent, il vaut la peine de documenter cette info, il est tout frais.
8. Test et essai de nouveau - Le plus tester le mieux. N'oubliez pas partie des tests est de vider manuellement le cache du cache de contenu, mais aussi le client est trop.
C'est tout pour les gens maintenant.
Je vous écris un suivi de ce qui parle dans un peu plus de détails sur les paramètres de cache typiques et contribue également à répondre à des questions telles que «se cache un être d'aucune aide pour mon application et si oui, quel type de cache devrais-je être à la recherche à ?...
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire