Configuration du délai d'inactivité de l'application pour les processeurs de messages

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

Ce document explique comment configurer le délai avant expiration du message keepalive pour les processeurs de messages Apigee Edge.

Le délai avant expiration du message keep-alive sur le processeur de messages permet à une seule connexion TCP d'envoyer et de recevoir plusieurs requêtes/réponses HTTP depuis/vers le serveur backend, au lieu d'ouvrir une nouvelle connexion pour chaque paire requête/réponse.

La valeur par défaut de la propriété de délai avant expiration du message keepalive sur le processeur de messages est de 60 secondes. Ce délai s'applique aux serveurs backend configurés dans la configuration du point de terminaison cible et dans la règle ServiceCallout de votre proxy d'API.

Le délai avant expiration du message keepalive pour les processeurs de messages peut être augmenté ou réduit à partir de la valeur par défaut de 60 secondes en fonction de vos besoins. Il peut être configuré comme suit:

  • Dans le proxy d'API :
    • Dans le point de terminaison cible
    • Dans la règle ServiceCallout
  • Sur le processeur de messages

Les propriétés suivantes contrôlent le délai avant expiration du message keep-alive sur les processeurs de messages:

Nom de propriété Emplacement Description
keepalive.timeout.millis Proxy d'API :
  • Point de terminaison cible
  • Règle ServiceCallout

Il s'agit du temps d'inactivité maximal pendant lequel le processeur de messages autorise une seule connexion TCP à envoyer et recevoir plusieurs requêtes/réponses HTTP, au lieu d'ouvrir une nouvelle connexion pour chaque paire requête/réponse.

Par défaut, cette propriété utilise la valeur définie pour la propriété HTTPClient.keepalive.timeout.millis sur le processeur de messages, où la valeur par défaut est 60 secondes.

Si cette propriété est modifiée avec une nouvelle valeur de délai d'expiration pour le serveur cible utilisé dans le point de terminaison cible ou la règle ServiceCallout dans le proxy d'API spécifique, la durée du message keep-alive uniquement pour ce serveur cible spécifique est affectée.

HTTPClient.keepalive.timeout.millis Processeur de messages

Il s'agit du temps d'inactivité maximal pendant lequel le processeur de messages autorise une seule connexion TCP à envoyer et recevoir plusieurs requêtes/réponses HTTP, au lieu d'ouvrir une nouvelle connexion pour chaque paire requête/réponse.

Cette propriété est utilisée pour tous les proxys d'API exécutés sur ce processeur de messages.

La valeur par défaut de cette propriété est de 60 secondes.

Vous pouvez soit modifier cette propriété comme expliqué dans la section Configurer le délai avant expiration du message keepalive sur les processeurs de messages ci-dessous, soit écraser cette valeur en définissant la propriété keepalive.timeout.millis au niveau du proxy de l'API.

Avant de commencer

Avant de suivre la procédure décrite dans ce document, assurez-vous de bien comprendre les sujets suivants:

Configuration du délai avant expiration du message keepalive dans le proxy d'API

Le délai avant expiration du message keepalive peut être configuré dans le proxy d'API aux emplacements suivants:

  • Point de terminaison cible
  • Règle ServiceCallout

Configuration du délai avant expiration du message keepalive dans le point de terminaison cible du proxy d'API

Cette section explique comment configurer le délai avant expiration du message keepalive dans le point de terminaison cible de votre proxy d'API. Le délai avant expiration du message keepalive peut être configuré via la propriété keepalive.timeout.millis, qui représente la valeur du délai avant expiration du message keepalive, en millisecondes.

  1. Dans l'interface utilisateur Edge, sélectionnez le proxy d'API spécifique dans lequel vous souhaitez configurer la nouvelle valeur de délai avant expiration du message keep-alive.
  2. Sélectionnez le point de terminaison cible spécifique que vous souhaitez modifier.
  3. Ajoutez la propriété keepalive.timeout.millis avec une valeur appropriée sous l'élément <HTTPTargetConnection> dans la configuration TargetEndpoint.

    Par exemple, pour définir le délai avant expiration du message keepalive sur 30 secondes, ajoutez le bloc de code suivant:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>
    

    Étant donné que la propriété keepalive.timeout.millis est exprimée en millisecondes, la valeur pour 30 secondes est 30000.

    Les exemples suivants montrent comment configurer le délai avant expiration du message keepalive dans la configuration du point de terminaison cible de votre proxy d'API:

    Exemple de configuration d'un point de terminaison cible avec l'URL du serveur backend

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>
    

    Exemple de configuration d'un point de terminaison cible avec un serveur cible

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  4. Enregistrez les modifications apportées à votre proxy d'API.

Configurer le délai avant expiration du message keepalive dans la règle ServiceCallout du proxy d'API

Cette section explique comment configurer le délai avant expiration du message keepalive dans la règle ServiceCallout de votre proxy d'API. Le délai avant expiration du message keepalive peut être configuré via la propriété the keepalive.timeout.millis, qui représente la valeur du délai avant expiration du message keepalive, en millisecondes.

Pour configurer le délai avant expiration du message keepalive dans la règle ServiceCallout à l'aide de la propriété keepalive.timeout.millis:

  1. Dans l'interface utilisateur Edge, sélectionnez le proxy d'API spécifique dans lequel vous souhaitez configurer la nouvelle valeur de délai d'inactivité pour la règle ServiceCallout.
  2. Sélectionnez la règle ServiceCallout que vous souhaitez modifier.
  3. Ajoutez la propriété keepalive.timeout.millis avec une valeur appropriée sous l'élément <HTTPTargetConnection> dans la configuration TargetEndpoint.

    Par exemple, pour remplacer le délai avant expiration du message keepalive sur 30 secondes, ajoutez le bloc de code suivant:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>
    

    Étant donné que la propriété keepalive.timeout.millis est exprimée en millisecondes, la valeur pour 30 secondes est 30000.

    Les exemples suivants montrent comment configurer le délai avant expiration du message keepalive dans la règle ServiceCallout de votre proxy d'API:

    Exemple de configuration de la règle ServiceAppel à l'aide d'une URL pour le serveur backend

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>
    

    Exemple de configuration de la règle ServiceAppel avec un serveur cible

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Enregistrez les modifications apportées à votre proxy d'API.

Configurer le délai avant expiration du message keep-alive sur les processeurs de messages

Cette section explique comment configurer le délai avant expiration du message keep-alive sur les processeurs de messages. Le délai avant expiration du message keepalive peut être configuré via la propriété HTTPClient.keepalive.timeout.millis, qui représente la valeur du délai avant expiration du message keepalive en millisecondes sur le composant "Processeur de messages". Comme cette propriété est commentée sur le processeur de messages, vous devez utiliser la syntaxe spéciale conf/http.properties+HTTPClient.keepalive.timeout.millis, comme décrit dans la section Définir un jeton actuellement commenté dans Comment configurer Edge.

Pour configurer le délai avant expiration du message keep-alive sur les processeurs de messages, procédez comme suit:

  1. Sur l'ordinateur de traitement de messages, ouvrez le fichier suivant dans un éditeur. S'il n'existe pas encore, créez-le.
    /opt/apigee/customer/application/message-processor.properties
    

    Par exemple, pour ouvrir le fichier à l'aide de vi, saisissez la commande suivante:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Ajoutez une ligne au format suivant au fichier de propriétés, en remplaçant TIME_IN_MILLISECONDS par une valeur :
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
    

    Par exemple, pour définir le délai avant expiration du message keepalive sur le processeur de messages sur 30 secondes, ajoutez la ligne suivante:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
    
  3. Enregistrez les modifications.
  4. Assurez-vous que le fichier de propriétés appartient à l'utilisateur apigee, comme indiqué ci-dessous :
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Redémarrez le processeur de messages comme indiqué ci-dessous :
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Si vous disposez de plusieurs processeurs de messages, répétez les étapes ci-dessus sur chacun d'eux.

Vérifier le délai avant expiration du message keep-alive sur les processeurs de messages

Cette section explique comment vérifier que le délai avant expiration du message keepalive a été modifié avec succès sur les processeurs de messages.

Même si vous utilisez la syntaxe spéciale conf/http.properties+HTTPClient.keepalive.timeout.millis pour définir le délai avant expiration du message keep-alive sur le processeur de messages, vous devez vérifier si la propriété HTTPClient.keepalive.timeout.millis réelle a été définie avec la nouvelle valeur.

  1. Sur la machine de traitement des messages, recherchez la propriété HTTPClient.keepalive.timeout.millis dans le répertoire /opt/apigee/edge-message-processor/conf et vérifiez si elle a été définie avec la nouvelle valeur, comme indiqué ci-dessous :
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Si la nouvelle valeur du délai avant expiration du message keepalive est correctement définie sur le processeur de messages, la commande ci-dessus affiche la nouvelle valeur dans le fichier http.properties.

    L'exemple de résultat de la commande ci-dessus une fois que vous avez configuré le délai avant expiration du message keepalive sur 30 secondes est le suivant:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
    

    Dans l'exemple de sortie ci-dessus, notez que la propriété HTTPClient.keepalive.timeout.millis a été définie avec la nouvelle valeur 30000 dans http.properties. Cela indique que le délai avant expiration du message keepalive est correctement configuré sur 30 secondes sur le processeur de messages.

  3. Si vous voyez toujours l'ancienne valeur pour la propriété HTTPClient.keepalive.timeout.millis, vérifiez que vous avez correctement suivi toutes les étapes décrites dans la section Configurer le délai avant expiration du message keepalive sur les processeurs de messages. Si vous avez manqué une étape, répétez-la correctement.
  4. Si vous ne parvenez toujours pas à modifier le délai avant expiration du message keepalive, contactez l'assistance Apigee Edge de Google Cloud.