Configurer le délai avant expiration des E/S sur les processeurs de message

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

<ph type="x-smartling-placeholder">

Ce document explique comment configurer le délai d'expiration des E/S pour les processeurs de messages Apigee Edge.

Le délai d'attente d'E/S sur le processeur de messages représente la durée pendant laquelle ce processeur attend de recevoir une réponse du serveur backend ou que le socket soit prêt à écrire une requête au serveur backend, avant qu'il n'expire.

La valeur par défaut du délai d'expiration des E/S du processeur de messages est 55 seconds. Ce délai avant expiration période applicable vers les serveurs backend configurés dans la configuration du point de terminaison cible et dans l'élément ServiceCallout de votre proxy d'API.

Le délai avant expiration des E/S pour les processeurs de messages peut être augmenté ou réduit par rapport à la valeur par défaut de 55 seconds selon vos besoins. Il peut être configuré aux endroits suivants:

  • Dans le proxy d'API <ph type="x-smartling-placeholder">
      </ph>
    • Point de terminaison cible
    • Règle ServiceCallout
  • Sur le processeur de messages

Les propriétés suivantes contrôlent le délai d'expiration des E/S sur les processeurs de messages:

Nom de la propriété Lieu Description
io.timeout.millis

Proxy d'API:

  • Point de terminaison cible
  • Règlement sur les appels de service

Il s'agit de la durée maximale pendant laquelle le processeur de messages effectue les opérations suivantes:

  • Attend la réception d'une réponse du serveur backend, après avoir établi le et en envoyant la requête au serveur backend, OU
  • Attend que le socket soit prêt pour que le processeur de messages envoie la requête à le serveur backend.

Si le serveur backend n'obtient aucune réponse dans ce délai, le paramètre Le processeur de messages expire.

Par défaut, cette propriété prend la valeur définie pour l'attribut HTTPTransport.io.timeout.millis sur le processeur de messages. La valeur par défaut est 55 seconds.

Si cette propriété est modifiée avec une nouvelle valeur de délai d'expiration pour un proxy d'API spécifique, alors seul ce proxy d'API est affecté.

HTTPTransport.io.timeout.millis Processeur de messages

Il s'agit de la durée maximale pendant laquelle le processeur de messages effectue les opérations suivantes:

  • Attend la réception d'une réponse du serveur backend, après établissement de la connexion et l'envoi de la requête au serveur backend OU
  • Attend que le socket soit prêt pour que le processeur de messages envoie la requête à le serveur backend.

Si le serveur backend n'obtient aucune réponse dans ce délai, le paramètre Le processeur de messages expire.

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 55 seconds

Vous pouvez modifier cette propriété comme expliqué dans Configurer le délai d'expiration des E/S sur les processeurs de messages, ou vous pouvez remplacer cette valeur en définissant la propriété io.timeout.millis dans l'API au niveau du proxy.

Avant de commencer

Avant de suivre les étapes décrites dans ce document, assurez-vous de bien comprendre les points suivants:

Configurer le délai d'expiration des E/S dans le proxy d'API

Le délai avant expiration des E/S peut être configuré dans les emplacements de proxy d'API suivants:

  • Point de terminaison cible
  • Règle ServiceCallout

Configurer le délai d'expiration des E/S dans le point de terminaison cible du proxy d'API

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

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">
  1. Dans l'interface utilisateur Edge, sélectionnez le proxy d'API spécifique dans lequel vous souhaitez configurer le nouveau Valeur du délai d'expiration des E/S.
  2. Sélectionnez le point de terminaison cible spécifique que vous souhaitez modifier.
  3. Ajoutez la propriété io.timeout.millis avec une valeur appropriée sous la propriété Élément <HTTPTargetConnection> dans la configuration TargetEndpoint.
  4. Par exemple, pour définir le délai d'expiration des E/S sur 120 secondes, ajoutez le bloc de code suivant:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    La propriété io.timeout.millis étant exprimée en millisecondes, la valeur de 120 secondes correspond à 120000.

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

    Exemple de configuration de point de terminaison cible utilisant une URL pour le serveur backend

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

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

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
    <ph type="x-smartling-placeholder">
  5. Enregistrez les modifications apportées à votre proxy d'API.

Configurer le délai d'expiration des E/S dans la règle ServiceAppel du proxy d'API

Cette section explique comment configurer le délai d'expiration des E/S dans la stratégie ServiceAccroche de votre proxy d'API. Le délai avant expiration des E/S peut être configuré via l'élément <Timeout>. ou la propriété io.timeout.millis. L'élément <Timeout> et l'élément io.timeout.millis représentent les valeurs de délai avant expiration des E/S en millisecondes.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Vous pouvez configurer le délai avant expiration des E/S dans la règle ServiceCall à l'aide de l'une des méthodes suivantes:

  • Élément <Timeout>.
  • io.timeout.millis.

Élément du délai d'inactivité

Pour configurer le délai d'expiration des E/S dans la règle ServiceCall, utilisez l'<Timeout> , procédez comme suit:

  1. Dans l'interface utilisateur Edge, sélectionnez le proxy d'API spécifique dans lequel vous souhaitez configurer le Nouvelle valeur du délai d'expiration d'E/S pour la règle ServiceAccroche.
  2. Sélectionnez la règle ServiceAccroche spécifique que vous souhaitez modifier.
  3. Ajoutez l'élément <Timeout> avec une valeur appropriée sous la section Configuration de <ServiceCallout>.

    Par exemple, pour faire passer le délai d'E/S à 120 secondes, ajoutez la ligne de code suivante:

        <Timeout>120000</Timeout>
    

    Étant donné que l'élément <Timeout> est exprimé en millisecondes, la valeur de 120 secondes correspond à 120000.

    L'exemple suivant montre comment configurer le délai d'expiration des E/S dans l'objet ServiceCall. à l'aide de l'élément <Timeout>:

    Exemple de configuration de la règle ServiceAccroche avec une URL pour le serveur backend

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Enregistrez les modifications apportées à votre proxy d'API.

Propriété io.timeout.millis

Pour configurer le délai d'expiration des E/S dans la règle ServiceAppel à l'aide de la méthode io.timeout.millis, procédez comme suit:

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

    Par exemple, pour définir le délai d'expiration des E/S sur 120 secondes, ajoutez le bloc suivant : de code:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    La propriété io.timeout.millis étant exprimée en millisecondes, la valeur de 120 secondes correspond à 120000.

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

    Exemple de configuration de la règle ServiceAccroche avec une URL pour le serveur backend

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

    Exemple de configuration d'une règle ServiceAccroche avec un serveur cible

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

Configurer le délai d'expiration des E/S sur les processeurs de messages

Cette section explique comment configurer le délai d'expiration des E/S sur les processeurs de messages. Le délai avant expiration des E/S peut être configuré via la propriété HTTPTransport.io.timeout.millis, qui représente la valeur du délai d'expiration d'E/S en millisecondes sur le composant de processeur de messages, à l'aide du jeton, conformément à la syntaxe décrite dans la section Procédure de configuration de périphérie.

Pour configurer le délai d'expiration des E/S sur les processeurs de messages, procédez comme suit:

  1. Sur le processeur de messages, ouvrez le fichier suivant dans un éditeur. Si ce n'est pas le cas existent déjà, alors créez-les.
    /opt/apigee/customer/application/message-processor.properties
    

    Par exemple, pour ouvrir le fichier en utilisant 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 une valeur par TIME_IN_MILLISECONDS:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

    Par exemple, pour modifier le délai d'E/S du processeur de messages à 120 secondes, ajoutez la ligne suivante:

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  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 tous les messages Processeurs.

Vérifier le délai d'expiration des E/S sur les processeurs de messages

<ph type="x-smartling-placeholder">

Cette section explique comment vérifier que le délai d'expiration des E/S a bien été modifié sur la Processeurs de messages.

Même si vous utilisez le jeton conf_http_HTTPTransport.io.timeout.millis pour définir le d'expiration des E/S sur le processeur de messages, vous devez vérifier si la propriété réelle HTTPTransport.io.timeout.millis a été défini avec la nouvelle valeur.

  1. Sur le processeur de messages, recherchez la propriété HTTPTransport.io.timeout.millis. dans le répertoire /opt/apigee/edge-message-processor/conf et vérifiez s'il a été défini avec la nouvelle valeur, comme indiqué ci-dessous:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Si la nouvelle valeur d'expiration du délai d'E/S est correctement définie sur le processeur de messages, ce qui précède affiche la nouvelle valeur dans le fichier http.properties.
  3. Exemple de résultat de la commande ci-dessus après avoir configuré le délai d'expiration des E/S sur 120 secondes est le suivant:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    Dans l'exemple de résultat ci-dessus, notez que la propriété HTTPTransport.io.timeout.millis a été défini avec la nouvelle valeur 120000 dans http.properties Cela indique que le délai avant expiration des E/S a bien été configuré à 120 secondes sur le processeur de messages.

  4. Si l'ancienne valeur de la propriété HTTPTransport.io.timeout.millis s'affiche toujours, Vérifiez ensuite que vous avez suivi toutes les étapes décrites dans Configurer correctement le délai d'expiration des E/S sur les processeurs de messages Si vous avez avez manqué une étape, répétez toutes les étapes correctement.
  5. Si vous ne parvenez toujours pas à modifier le délai d'expiration des E/S, veuillez contacter Assistance Apigee Edge

Et ensuite ?

En savoir plus <ph type="x-smartling-placeholder"></ph> Configurer le délai d'expiration des E/S sur les routeurs