Antimodèle : stocker les données supérieures à 256 ko dans le cache

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Apigee Edge permet de stocker les données dans un cache au moment de l'exécution pour les rendre persistantes et les récupérer plus rapidement.

  • Les données sont initialement stockées dans le cache en mémoire du processeur de messages, appelé cache L1.
  • Le cache L1 est limité par la quantité de mémoire qui lui est réservée. Il s'agit d'un pourcentage de la mémoire JVM.
  • Les entrées mises en cache sont conservées dans un cache L2 accessible à tous les processeurs de message. Vous trouverez plus d'informations dans la section ci-dessous.
  • Le cache L2 n'a pas de limite stricte pour le nombre d'entrées de cache. Cependant, la taille maximale de chaque entrée est limitée à 256 ko. Cette limite de 256 ko est la taille recommandée pour des performances optimales.

Antimodèle

Cet antimodèle présente les conséquences du dépassement des restrictions de taille de cache actuelles sur la plate-forme Apigee Edge.

Lorsque des données de plus de 256 ko sont mises en cache, les conséquences sont les suivantes :

  • Les requêtes d'API exécutées pour la première fois sur chacun des processeurs de messages doivent obtenir les données indépendamment de la source d'origine (règle ou serveur cible), car les entrées supérieures à 256 ko ne sont pas disponibles dans le cache L2.
  • Le stockage de données plus volumineuses (plus de 256 ko) dans le cache L1 a tendance à mettre davantage de contraintes sur les ressources de la plate-forme. La mémoire de cache L1 est remplie plus rapidement, ce qui réduit l'espace disponible pour d'autres données. Par conséquent, il n'est pas possible de mettre en cache les données de manière aussi dynamique que ce qui serait souhaitable.
  • Lorsque le nombre d'entrées est atteint, les entrées en cache des processeurs de message sont supprimées. Les données sont alors extraites à nouveau depuis la source d'origine sur les processeurs de message respectifs.

Deux schémas de flux.
  Un pour la taille <=256 Ko, qui montre les flux entre les processeurs de message et proxy d&#39;API, ainsi que les flux entre les processeurs de messages et le cache L2 du stockage persistant. Un pour la taille supérieure à 256 Ko, qui affiche les flux entre les processeurs de message et proxy d&#39;API, ainsi que les flux entre les processeurs de messages et les données/réponse non stockées dans le cache L2.

Impact

  • Les données d'une taille supérieure à 256 ko ne sont pas stockées dans le cache persistant L2.
  • Les appels plus fréquents à la source d'origine (règle ou serveur cible) augmentent la latence pour les requêtes d'API.

Bonne pratique

  • Il est préférable de stocker des données d'une taille inférieure à 256 ko dans le cache pour obtenir des performances optimales.
  • Si vous avez besoin de stocker des données supérieures à 256 Ko, envisagez les solutions suivantes :
    • Utiliser n'importe quelle base de données appropriée pour stocker de grands volumes de données

      OU

    • Compresser les données

Documentation complémentaire