Stockage en mémoire cache d'un contenu généré dynamiquement

S'applique aux configurations avec proxy inversé uniquement.

La fonction de mise en mémoire cache dynamique permet au Caching Proxy de placer en mémoire cache un contenu généré dynamiquement sous forme de réponses JavaServer Pages (JSP) et de servlets générés par un serveur IBM® WebSphere Application Server. Un module d'adaptateur Caching Proxy est utilisé sur le serveur d'applications pour modifier les réponses afin qu'elles puissent être stockées dans la mémoire cache dynamique du serveur d'applications ainsi que sur le serveur proxy. A l'aide de cette fonctionnalité, le contenu généré dynamiquement peut être stocké en mémoire cache à la périphérie du réseau, évitant ainsi à l'hôte du contenu d'envoyer des demandes répétées au serveur d'applications lorsque plusieurs clients demandent le même contenu.

Remarque :
La fonction de mise en mémoire cache dynamique ne permet pas au serveur proxy de placer en mémoire cache des résultats issus de demandes d'URL. Pour mettre en mémoire cache des résultats de requêtes, configurez des filtres de mise en mémoire cache (décrits dans Contrôle du contenu de la mémoire cache et dans la documentation de référence des directives dans CacheQueries — Met en mémoire cache les réponses aux URL contenant le caractère ?). Il est possible de mettre en mémoire cache les résultats de demandes émanant de systèmes autres que IBM WebSphere Application Server.

Dans certains cas (vos servlets utilisent des URL sous la forme de demandes, par exemple), il est nécessaire d'activer la mise en mémoire cache des demandes pour que la fonction de mise en cache dynamique puisse fonctionner. Le serveur proxy assimile à une demande toute URL comportant un point d'interrogation (?).

La mise en cache de contenu généré dynamiquement offre les avantages suivants :

Le serveur d'applications n'exporte que les pages publiques intégralement composées pour la mise en mémoire cache du proxy. Les pages privées ne sont pas mises en cache par le proxy. Par exemple, une page générée de façon dynamique sur un site public et répertoriant les prévisions météorologiques peut être exportée par IBM WebSphere Application Server et mise en mémoire cache par Caching Proxy. Cependant, une page générée de façon dynamique répertoriant le contenu du panier électronique d'un utilisateur ne peut pas être mise en cache par le serveur proxy. En outre, pour qu'une page générée dynamiquement soit stockée en mémoire cache, tous ses sous-composants doivent également pouvoir être stockés en mémoire cache.

Les fichiers mis en mémoire cache dynamique n'expirent pas de la même manière que les fichiers normaux ; ils peuvent être invalidés par le serveur d'applications qui les a générés.

Les entrées de la mémoire cache dynamique sont invalidées dans les cas suivants :

L'invalidation d'entrées de la mémoire cache dynamique s'effectue en générant un message de type Invalidate à l'intention de l'instance spécifique du module de mise en mémoire cache dynamique de Caching Proxy. Caching Proxy reçoit les messages d'invalidation sous forme de méthodes post envoyées au pointeur de ressources /WES_External_Adapter. Caching Proxy efface ensuite les entrées non valides de sa mémoire cache.

La mise en mémoire cache dynamique requiert les étapes de configuration suivantes :

Configuration de IBM WebSphere Application Server pour la mise en mémoire cache du proxy

Configuration de la mise en mémoire cache dynamique sur le serveur d'applications

Suivez les instructions de la documentation IBM WebSphere Application Server pour configurer votre serveur d'applications afin qu'il utilise sa mémoire cache dynamique locale (également appelée mémoire cache dynamique à fragments). La mémoire cache dynamique à fragments interagit avec la mémoire cache externe du Caching Proxy de Application Server.

Configuration de l'adaptateur du serveur d'applications

IBM WebSphere Application Server communique avec Caching Proxy à l'aide du module External Cache Adapter, installé avec Application Server.

Remarque :
Pour plus d'informations sur la configuration de la fonction de mise en cache dynamique, reportez-vous à la note technique fournie sur le site Web d'assistance de IBM WebSphere Application Server.

Configuration des serveurs Caching Proxy pour la mise en mémoire cache dynamique

Pour activer le serveur proxy afin qu'il place le contenu dynamique en mémoire cache (résultats des servlets et des JSP), vous devez effectuer deux modifications dans le fichier de configuration du proxy, ibmproxy.conf. La première modification active le plug-in de la mise en mémoire cache dynamique et la seconde le configure pour qu'il reconnaisse les sources du contenu dynamique stockable en mémoire cache.

Configuration de la directive Service pour l'activation du plug-in de la mise en mémoire cache dynamique

Une directive API de l'étape Service est utilisée pour activer le plug-in de la mise en mémoire cache dynamique. Pour créer cette directive, modifiez manuellement le fichier ibmproxy.conf ou, si le serveur proxy est en cours d'exécution, utilisez les formulaires de configuration et d'administration pour sélectionner Configuration du serveur –> Traitement des demandes –> Traitement des demandes API. Le contenu de la directive est illustré dans des exemples qui apparaissent plus loin dans cette section.

Une directive Service pour l'activation de la mise en mémoire cache dynamique est donnée en exemple sous forme de commentaire dans la section API du fichier ibmproxy.conf. Elle comporte l'en-tête plug-in JSP. Notez que ces directives API sont placées dans un ordre délibérément choisi. Lors de l'ajout de directives d'API pour permettre de nouvelles fonctionnalités et l'utilisation de plug-ins, respectez l'ordre dans lequel figurent les directives dans la section Prototypes du fichier de configuration. Vous pouvez également supprimer les caractères de commentaires des exemples de directives API et les modifier si nécessaire afin de prendre en charge le support de chaque fonction ou plug-in souhaité.

Définissez la directive Service comme indiqué dans les exemples suivants. (Chacune de ces directives doit figurer dans le fichier de configuration sur une seule ligne ; ces exemples contiennent parfois des sauts de ligne pour plus de clarté).

Si le logiciel Caching Proxy est installé dans un répertoire autre que le répertoire par défaut, substituez le chemin spécifié dans l'exemple par le chemin de votre installation.

Configuration de la directive ExternalCacheManager pour la spécification des sources des fichiers

Il est également nécessaire de configurer chaque composant Caching Proxy pour qu'il reconnaisse la source des fichiers générés dynamiquement. Ajoutez une directive ExternalCacheManager au fichier ibmproxy.conf pour chaque serveur d'applications qui placera en mémoire cache un contenu généré dynamiquement sur serveur proxy. Cette directive spécifie un serveur WebSphere Application Server qui placera les résultats en mémoire cache sur le proxy et défini un délai d'expiration maximal pour le contenu de ce serveur. Vous trouverez plus de détails dans le document ExternalCacheManager — Configure Caching Proxy pour la mise en mémoire cache dynamique à partir de IBM WebSphere Application Server.

L'ID serveur utilisé dans la directive ExternalCacheManager doit correspondre à l'ID de groupe utilisé dans la stance du groupe de mémoire cache externe du fichier dynacache.xml du serveur d'applications.

Dans le cas des exemples précédents, ajoutez l'entrée ci-après dans le fichier ibmproxy.conf de chaque proxy.

ExternalCacheManager   IBM-edge-cp-XYZ-1  20 seconds

Le composant Caching Proxy ne met en mémoire cache que le contenu d'un serveur IBM WebSphere Application Server dont l'ID de groupe correspond à une entrée ExternalCacheManager du fichier ibmproxy.conf.