Antimodèle : Accéder à la charge utile de requête/réponse lorsque le streaming est activé

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Dans Edge, le comportement par défaut est le suivant : les charges utiles de requêtes et de réponses HTTP sont stockées dans un tampon en mémoire avant d'être traitées par les règles du proxy d'API.

Si le streaming est activé, les charges utiles de requêtes et de réponses sont diffusées sans modification vers l'application cliente (pour les réponses) et le point de terminaison cible (pour les requêtes). Le streaming est utile, surtout si une application accepte ou renvoie des charges utiles volumineuses, ou si une application renvoie des données en fragments au fil du temps.

Antimodèle

Accéder à la charge utile de requête/réponse lorsque le streaming activé entraîne le retour d'Edge au mode de mise en mémoire tampon par défaut.

Figure 1 : Accès à la charge utile de la requête/réponse lorsque le streaming est activé

L'illustration ci-dessus montre que nous essayons d'extraire des variables de la charge utile de requête et de convertir la charge utile de réponse JSON en XML à l'aide de la règle JSONToXML. Cela désactivera le streaming dans Edge.

Impact

  • Le streaming sera désactivé, ce qui peut augmenter la latence de traitement des données.
  • L'augmentation de l'utilisation du tas de mémoire ou des erreurs "OutOfMemory" peut être observée sur les processeurs de message en raison de l'utilisation de tampons en mémoire, surtout si les charges utiles de requêtes/réponses sont volumineuses.

Bonne pratique

  • N'accédez pas à la charge utile de requête/réponse lorsque le streaming est activé.

Documentation complémentaire