Apigee Edge proporciona almacenamiento en caché para la persistencia de datos entre las solicitudes. Cuando se reciben los datos de la API, se almacenan en la caché durante un período breve. y, luego, se borra. La cantidad máxima de tiempo que se conserva un dato antes de ser borrado se denomina vencimiento o tiempo de actividad (TTL), de la caché. Cada caché tiene un TTL predeterminado, pero, en algunos casos, es posible que debas cambiar ese valor para mejorar el rendimiento de la API.
Tipos de caché
Los datos de la API se almacenan en dos tipos de caché:
- Nivel 1 (L1): Caché en memoria, que ofrece acceso más rápido, pero menos almacenamiento disponible la capacidad de procesamiento.
- Nivel 2 (L2): Caché persistente en un almacén de datos de Cassandra, que tiene una velocidad más lenta pero más capacidad de almacenamiento disponible.
Cuando una entrada de datos en la caché L1 alcanza el TTL de L1, se borra. Sin embargo, un se guarda una copia de la entrada en la caché L2 (que tiene un TTL más largo que la caché L1), para que otros procesadores de mensajes puedan acceder a ella. Consulta Datos en memoria y persistentes para obtener más detalles sobre la caché.
TTL máximo de L1
En Edge para la nube privada, puedes establecer el TTL máximo de caché L1 para cada mensaje
con la propiedad de TTL máximo L1 (conf_cache_max.l1.ttl.in.seconds
).
Una entrada de la caché de L1 caducará cuando alcance el valor máximo de TTL de L1 y se borrará.
Notas:
- De forma predeterminada, el TTL máximo de L1 está inhabilitado (con el valor
-1
). en cuyo caso se determina el TTL de una entrada en la caché L1. según la configuración de la política la configuración de vencimiento (para la caché L1 y L2). - El TTL máximo de L1 solo tiene efecto si su valor es menor que el vencimiento general de la caché.
Establece el TTL máximo de L1
Puedes configurar el TTL máximo de L1 en un procesador de mensajes de la siguiente manera:
- Abre el
de configuración
/opt/apigee/customer/application/message-processor.properties
en un editor. Si el archivo no existe, créalo. - Establece la propiedad de TTL máximo L1 en el valor deseado:
conf_cache_max.l1.ttl.in.seconds = 180
Te recomendamos que el valor sea
180
segundos. - Asegúrate de que el archivo de propiedades sea propiedad de “apigee” usuario:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Reinicia el procesador de mensajes:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Lineamientos para configurar el TTL máximo de L1
Cuando configures el TTL máximo de L1, ten en cuenta los siguientes lineamientos:
- Errores de RPC: Si observas errores de llamada de procedimiento remoto (RPC) entre
procesadores de mensajes (MP),
especialmente en varios centros de datos,
es posible que la caché L1 tenga entradas inactivas, que permanecerán inactivas hasta que se borren
de la caché L1. Establecer el TTL máximo de L1 en un valor más bajo fuerza una fuerza
las entradas inactivas se quitarán y se reemplazarán por valores nuevos de la caché L2,
Solución: Disminuir laconf_cache_max.l1.ttl.in.seconds
- Exceso de carga en Casandra: cuando configuras un valor para Max L1 TTL, entradas de caché L1
caducarán con más frecuencia,
lo que genera más errores de caché L1
y más aciertos de caché L2. Como la caché L2 se golpeará con más frecuencia,
Cassandra tendrá una mayor carga.
Solución: Aumentar elconf_cache_max.l1.ttl.in.seconds
Como regla general, ajustar el TTL máximo de L1 a un valor que equilibra la frecuencia de errores de RPC entre MP con la carga potencial en Cassandra.
Te recomendamos establecer el valor de conf_cache_max.l1.ttl.in.seconds
en al menos
180
segundos (3 minutos) para que el procesamiento siga funcionando sin problemas.