Configurer le délai avant expiration de la connexion sur les processeurs de message

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

Ce document explique comment configurer le délai avant expiration de la connexion pour les processeurs de messages Apigee Edge.

Le délai avant expiration de la connexion représente le temps pendant lequel le processeur de messages attend d'établir une connexion avec le serveur cible. La valeur par défaut de la propriété de délai avant expiration de la connexion sur le processeur de messages est de 3 secondes. Cette période de délai avant expiration s'applique aux serveurs de backend configurés dans la configuration du point de terminaison cible et dans la ServiceCallout de votre proxy d'API.

Le délai avant expiration de la connexion pour les processeurs de messages peut être augmenté ou diminué par rapport à la valeur par défaut de 3 secondes en fonction de vos besoins. Il peut être configuré de différentes manières :

  • 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 de la connexion sur les processeurs de messages :

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

Il s'agit du délai maximal pendant lequel le processeur de messages attend de se connecter au serveur cible.

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

Si cette propriété est modifiée avec une nouvelle valeur de délai avant expiration pour le serveur cible associé à un proxy d'API, seul le délai de connexion de ce serveur cible est affecté.

HTTPClient.connect.timeout.millis Processeur de messages

Il s'agit du délai maximal pendant lequel le processeur de messages attend de se connecter au serveur cible.

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 3 secondes.

Vous pouvez modifier cette propriété comme expliqué dans Configurer le délai avant expiration de la connexion sur les processeurs de messages ci-dessous, ou vous pouvez remplacer cette valeur en définissant la propriété connect.timeout.millis au niveau du proxy d'API.

Avant de commencer

Avant de suivre les étapes de ce document, assurez-vous de bien comprendre les sujets suivants :

Configurer le délai avant expiration de la connexion dans le proxy d'API

Le délai avant expiration de la connexion peut être configuré dans le proxy d'API aux emplacements suivants :

  • Point de terminaison cible
  • Règle ServiceCallout

Configurer le délai avant expiration de la connexion dans le point de terminaison cible du proxy d'API

Cette section explique comment configurer le délai avant expiration de la connexion dans le point de terminaison cible de votre proxy d'API. Le délai avant expiration de la connexion peut être configuré via la propriété connect.timeout.millis, qui représente la valeur du délai avant expiration de la connexion 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 de la connexion.
  2. Sélectionnez le point de terminaison cible spécifique que vous souhaitez modifier.
  3. Ajoutez la propriété connect.timeout.millis avec une valeur appropriée sous l' <HTTPTargetConnection> élément dans la TargetEndpoint configuration.

    Par exemple, pour modifier le délai avant expiration de la connexion sur 5 secondes, ajoutez le bloc de code suivant :

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    Étant donné que la propriété connect.timeout.millis est exprimée en millisecondes, la valeur de 5 secondes est 5000.

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

    Exemple de configuration de point de terminaison cible à l'aide d'une URL pour le serveur de backend

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

    Exemple de configuration de point de terminaison cible à l'aide d'un serveur cible

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

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

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

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

  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 de la connexion pour la règle ServiceCallout.
  2. Sélectionnez la règle ServiceCallout spécifique que vous souhaitez modifier.
  3. Ajoutez la propriété connect.timeout.millis avec une valeur appropriée sous l' <HTTPTargetConnection> élément dans la TargetEndpoint configuration.

    Par exemple, pour modifier le délai avant expiration de la connexion sur 5 secondes, ajoutez le bloc de code suivant :

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    Étant donné que la propriété connect.timeout.millis est exprimée en millisecondes, la valeur de 5 secondes est 5000.

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

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

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

    Exemple de configuration de règle ServiceCallout à l'aide d'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="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. Enregistrez les modifications apportées à votre proxy d'API.

Configurer le délai avant expiration de la connexion sur les processeurs de messages

Cette section explique comment configurer le délai avant expiration de la connexion sur les processeurs de messages. Le délai avant expiration de la connexion peut être configuré via la propriété conf_http_HTTPClient.connect.timeout.millis, qui représente la valeur du délai avant expiration de la connexion en millisecondes sur le composant Processeur de messages, à l'aide du jeton conformément à la syntaxe décrite dans la section Configurer Edge.

Pour configurer le délai avant expiration de la connexion sur les processeurs de messages, procédez comme suit :

  1. Sur la machine du processeur de messages, ouvrez le fichier suivant dans un éditeur. S'il n'existe pas déjà, 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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS

    Par exemple, pour modifier le délai avant expiration de la connexion sur le processeur de messages sur 5 secondes, ajoutez la ligne suivante :

    conf_http_HTTPClient.connect.timeout.millis=5000
  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 avez plusieurs processeurs de messages, répétez les étapes ci-dessus sur tous les processeurs de messages.

Vérifier le délai avant expiration de la connexion sur les processeurs de messages

Cette section explique comment vérifier que le délai avant expiration de la connexion a bien été modifié sur les processeurs de messages.

Même si vous utilisez le jeton conf_http_HTTPClient.connect.timeout.millis pour définir le délai avant expiration de la connexion sur le processeur de messages, vous devez vérifier si la propriété réelle HTTPClient.connect.timeout.millis a été définie avec la nouvelle valeur.

  1. Sur la machine du processeur de messages, recherchez la propriété HTTPTransport.connect.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.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Si la nouvelle valeur de délai avant expiration de la connexion 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 après avoir configuré le délai avant expiration de la connexion sur 5 secondes est le suivant :

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

    Dans l'exemple de résultat ci-dessus, notez que la propriété HTTPClient.connect.timeout.millis a été définie avec la nouvelle valeur 5000 dans http.properties. Cela indique que le délai avant expiration de la connexion est correctement configuré sur 5 secondes sur le processeur de messages.

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