Bonnes pratiques de configuration du délai avant expiration des E/S

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

Les requêtes API effectuées par les applications clientes transitent par différents composants d'Apigee Edge avant d'atteindre les services de backend. La plupart des applications clientes s'attendent à recevoir les réponses à ces requêtes en temps voulu.

Pour obtenir des réponses rapides, les valeurs de délai d'attente des E/S sont définies dans chacun des composants par lesquels transitent les requêtes API. Si l'un des composants du flux prend plus de temps que le composant précédent, le délai d'attente du composant précédent est dépassé et il répond avec des erreurs 504 Gateway Timeout.

Lors de la configuration du délai d'attente, les valeurs doivent être configurées dans chacun des composants avec le plus grand soin, sinon cela peut entraîner des erreurs 504 Gateway Timeout.

Ce document décrit les bonnes pratiques à suivre pour configurer le délai d'attente des E/S sur différents composants par lesquels transitent les requêtes API dans Apigee Edge.

Bonnes pratiques pour configurer le délai d'attente des E/S

Tenez compte des bonnes pratiques suivantes lorsque vous configurez le délai d'attente des E/S :

  • Premier composant : utilisez toujours le délai d'attente le plus élevé sur le premier composant du flux de requêtes API qui est l'application cliente dans Apigee Edge.
  • Dernier composant : utilisez toujours le délai d'attente le plus faible sur le dernier composant du flux de requêtes API qui est le service de backend dans Apigee Edge.
  • Entre les composants : assurez-vous qu'il existe une différence d'au moins 2 à 3 secondes dans la valeur de délai d'attente configurée dans chaque composant entre le premier et le dernier composant du flux.
  • Routeur : il est toujours recommandé de configurer (modifier) la valeur de délai d'attente des E/S pour un hôte virtuel spécifique plutôt que de la configurer sur le routeur. Cela garantit que la nouvelle valeur de délai d'attente n'affecte que les proxys d'API qui utilisent l'hôte virtuel spécifique, et non tous les proxys d'API desservis par le routeur.

    Ne configurez (modifiez) le délai d'attente des E/S sur le routeur que si vous êtes absolument certain que la nouvelle valeur de délai d'attente des E/S est requise ou applicable à tous les proxys d'API exécutés sur le routeur.

  • Processeur de messages : il est toujours recommandé de configurer (modifier) la valeur de délai d'attente des E/S pour un proxy d'API spécifique plutôt que de la configurer sur le processeur de messages. Cela garantit que la nouvelle valeur de délai d'attente n'affecte que le proxy d'API spécifique, et non tous les proxys d'API desservis par le processeur de messages.

    Ne configurez (modifiez) le délai d'attente des E/S sur le processeur de messages que si vous êtes absolument certain que la nouvelle valeur de délai d'attente des E/S est requise ou applicable à tous les proxys d'API exécutés sur le processeur de messages.

Exemples de cas de figure

Les scénarios de cette section peuvent vous aider à comprendre comment définir correctement les valeurs de délai d'attente des E/S.

Scénario 1 : Requêtes adressées directement à Apigee Edge par des applications clientes

Cette section décrit les bonnes pratiques à suivre lors de la configuration des valeurs de délai d'attente dans une configuration Apigee Edge où aucun composant intermédiaire n'existe entre l'application cliente et Apigee Edge, ni entre Apigee Edge et votre serveur de backend.

Exemple de configuration Apigee sans composants intermédiaires

Flux commençant au niveau du client, puis passant par le routeur, le processeur de messages et enfin le serveur de backend

Si Apigee Edge est configuré comme illustré dans le schéma ci-dessus, sans composants intermédiaires, suivez les bonnes pratiques suivantes :

  1. L'application cliente est le premier composant du flux. La valeur de délai d'attente la plus élevée doit être définie sur le client.
  2. Le serveur de backend est le dernier composant du flux. La valeur de délai d'attente la plus faible doit être définie sur le serveur de backend.
  3. Configurez les valeurs de délai d'attente sur chacun des composants dans l'ordre suivant :

    Configurer le délai avant expiration sur le client, puis sur le routeur, puis sur le processeur de messages, puis sur le serveur de backend

    L'exemple suivant montre les valeurs de délai d'attente définies sur les différents composants conformément aux consignes ci-dessus pour éviter tout problème :

    Configurez le délai d'inactivité sur le client à 60 secondes, puis sur le routeur à 57 secondes, puis sur le processeur de messages à 55 secondes, puis sur le serveur backend à 52 secondes.

Scénario 2 : Requêtes adressées à Apigee Edge par des applications clientes via des composants intermédiaires

Cette section décrit les bonnes pratiques à suivre lors de la configuration des valeurs de délai d'attente dans une configuration Apigee Edge où un ou plusieurs composants intermédiaires existent entre l'application cliente et Apigee Edge, ainsi qu'entre Apigee Edge et votre serveur de backend.

Les composants intermédiaires peuvent être un équilibreur de charge, un réseau de diffusion de contenu (CDN), NGINX, etc.

Exemple de configuration Apigee avec un composant intermédiaire entre le client et Apigee Edge, et entre Apigee Edge et le serveur de backend

Flux commençant au niveau du client, puis passant par le composant intermédiaire 1, le routeur, le processeur de messages, le composant intermédiaire 2 et enfin le serveur de backend

Si Apigee Edge est configuré comme illustré dans le schéma ci-dessus, avec un ou plusieurs composants intermédiaires composants, suivez les bonnes pratiques suivantes :

  1. L'application cliente est le premier composant du flux. La valeur de délai d'attente la plus élevée doit être définie sur le client.
  2. Le serveur de backend est le dernier composant du flux. La valeur de délai d'attente la plus faible doit être définie sur le serveur de backend.
  3. Configurez les valeurs de délai d'attente sur chacun des composants, y compris les composants intermédiaires, dans l'ordre suivant :

    Configurez le délai d'expiration sur le client, puis sur le composant intermédiaire 1, puis sur le routeur, puis sur le processeur de messages, puis sur le composant intermédiaire 2, puis sur le serveur de backend.

    L'exemple suivant montre les valeurs de délai d'attente définies sur les différents composants conformément aux consignes ci-dessus pour éviter tout problème :

    Configurez le délai d'expiration sur le client à 63 secondes, puis sur le composant intermédiaire 1 à 60 secondes, puis sur le routeur à 57 secondes, puis sur le processeur de messages à 55 secondes, puis sur le composant intermédiaire 2 à 52 secondes, puis sur le serveur de backend à 59 secondes.