<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
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:
|
Il s'agit de la durée maximale pendant laquelle le processeur de messages effectue les opérations suivantes:
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
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:
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
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é |
Avant de commencer
Avant de suivre les étapes décrites dans ce document, assurez-vous de bien comprendre les points suivants:
- Si vous ne connaissez pas bien le délai avant expiration des E/S, consultez la propriété
io.timeout.millis
. description en Spécification de la propriété de transport TargetEndpoint. - Si vous ne savez pas comment configurer des propriétés pour Edge pour Private Cloud, consultez <ph type="x-smartling-placeholder"></ph> Comment configurer Edge
- Assurez-vous de suivre les recommandations <ph type="x-smartling-placeholder"></ph> Bonnes pratiques pour configurer le délai avant expiration des E/S
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.
- 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.
- Sélectionnez le point de terminaison cible spécifique que vous souhaitez modifier.
- Ajoutez la propriété
io.timeout.millis
avec une valeur appropriée sous la propriété Élément<HTTPTargetConnection>
dans la configurationTargetEndpoint
. - Enregistrez les modifications apportées à votre proxy d'API.
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>
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.
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:
- 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.
- Sélectionnez la règle ServiceAccroche spécifique que vous souhaitez modifier.
- 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>
- 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:
- 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.
- Sélectionnez la règle ServiceAccroche spécifique que vous souhaitez modifier.
- 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>
- 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:
- 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
- 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
- Enregistrez les modifications.
- 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
- Redémarrez le processeur de messages comme indiqué ci-dessous:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 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.
- 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
- 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
. - 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. - Si vous ne parvenez toujours pas à modifier le délai d'expiration des E/S, veuillez contacter Assistance Apigee Edge
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.
Et ensuite ?
En savoir plus <ph type="x-smartling-placeholder"></ph> Configurer le délai d'expiration des E/S sur les routeurs