Almacenamiento en caché avanzada

Clústeres del Caching Proxy con equilibrio de carga

Para proporcionar más funciones avanzadas de almacenamiento en caché, utilice el Caching Proxy como proxy inverso junto con el componente Load Balancer. Integrando las posibilidades de almacenamiento en caché y equilibrio de carga, podrá crear una infraestructura de rendimiento en la web que será eficaz y muy manejable.

En la Figura 4 se muestra cómo se puede combinar el Caching Proxy con Load Balancer para entregar contenidos web de manera eficaz, aunque se produzca una gran demanda. En esta configuración, el servidor proxy (4) se configura para interceptar las solicitudes cuyos URL incluyan el nombre de sistema principal de un clúster de sistemas principales que alojan contenido (7), para los cuales Load Balancer (6 ) realiza el equilibrio de carga.

Figura 4. El Caching Proxy actúa como clúster servidor proxy para un clúster con equilibrio de carga
El gráfico que aparece aquí ilustra el servidor proxy actuando como sustituto para un clúster con equilibrio de carga

Cuando un cliente (1) solicita el archivo X, la solicitud circula a través de Internet (2) y entra en la red interna de la empresa mediante su pasarela Internet (3). El servidor proxy intercepta la solicitud, genera una nueva solicitud con su propia dirección IP como dirección de origen y envía la nueva solicitud a Load Balancer en la dirección de clúster. Load Balancer utiliza su algoritmo de equilibrio de carga a fin de determinar cuál de los sistemas principales que alojan contenidos es actualmente el más capacitado para satisfacer la solicitud del archivo X. El sistema principal que aloja contenido devuelve el archivo X al servidor proxy en lugar de utilizar Load Balancer. El servidor proxy determina si se almacena en caché y lo entrega al usuario final, siguiendo el mismo procedimiento descrito anteriormente.

Almacenamiento en caché de contenidos dinámicos

La función avanzada de almacenamiento en caché también la proporciona el conector de Almacenamiento en caché dinámico del Caching Proxy. Cuando se utiliza junto con WebSphere Application Server, el Caching Proxy tiene la capacidad de almacenar en caché, servir e invalidar el contenido dinámico en forma de JavaServer Pages (JSP) y respuestas de servlet generadas por WebSphere Application Server.

Generalmente, los contenidos dinámicos con una caducidad indefinida deben marcarse como "no almacenar en memoria caché" porque la lógica estándar de caducidad de memoria caché temporal no asegura su eliminación oportuna. La lógica de caducidad controlada por sucesos del conector de almacenamiento en caché dinámica permite que el servidor proxy almacene en caché el contenido con una fecha de caducidad indefinida. La almacenamiento en caché de este tipo de contenidos en el extremo de la red libera a los sistemas principales que alojan contenidos de tener que invocar repetidamente Application Server para satisfacer las solicitudes de los clientes. Esto puede aportar las ventajas siguientes:

La almacenamiento en caché de respuestas de servlet es ideal para las páginas web producidas dinámicamente que caducan basándose en la lógica de la aplicación o en un suceso, tal como un mensaje de una base de datos. Aunque la duración de una página de este tipo es finita, el valor de tiempo de vida no puede establecerse en el momento de la creación porque no puede conocerse de antemano el desencadenante de la caducidad. Cuando el tiempo de vida de estas páginas se establece en cero, los sistemas principales que alojan contenidos incurren en un gran error al servir contenidos dinámicos.

Ambos sistemas comparten la responsabilidad de sincronizar la memoria caché dinámica del Caching Proxy y de Application Server. Por ejemplo, una página web pública creada dinámicamente por una aplicación que facilita el pronóstico del tiempo actual puede exportarse mediante Application Server y almacenarse en caché en el Caching Proxy. Entonces, el Caching Proxy puede servir los resultados de ejecución de la aplicación repetidamente a muchos usuarios distintos hasta que se le notifique que la página no es válida. El contenido de la memoria caché de respuestas del servlet del Caching Proxy es válido hasta que el servidor proxy elimine una entrada porque la memoria caché esté congestionada, hasta que caduque el tiempo de espera predeterminado establecido por la directiva ExternalCacheManager en el archivo de configuración del Caching Proxy o hasta que el Caching Proxy reciba un mensaje de invalidación indicándole que depure los contenidos de su memoria caché. Los mensajes de invalidación se originan en WebSphere Application Server que posee el contenido y se propagan a cada Caching Proxy configurado.

Nota:
En general, las páginas privadas generadas dinámicamente (como, por ejemplo, una página que muestre el contenido del carro de la compra de un usuario) no pueden ni deben almacenarse en caché en el Caching Proxy. El Caching Proxy sólo puede almacenar en caché y servir páginas privadas cuando esté configurado para realizar la autenticación y autorización, a fin de asegurarse de que las páginas privadas se servirán únicamente a los usuarios pertinentes.

Funciones de almacenamiento en caché adicionales

El Caching Proxy ofrece otras funciones avanzadas clave de almacenamiento en caché: