Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Ce document explique comment configurer le délai d'E/S pour les processeurs de messages Apigee Edge.
Le délai d'E/S sur le processeur de messages représente le temps pendant lequel le processeur de messages attend de recevoir une réponse du serveur backend ou que le socket soit prêt à écrire une requête sur le serveur backend, avant d'expirer.
La valeur par défaut du délai d'E/S du processeur de messages est de 55 seconds. Cette période de 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 d'E/S des processeurs de messages peut être augmenté ou diminué par rapport à la valeur par défaut de
55 seconds en fonction de vos besoins. Il peut être configuré aux emplacements suivants :
- Dans le proxy d'API
- Point de terminaison cible
- Règle ServiceCallout
- Sur le processeur de messages
Les propriétés suivantes contrôlent le délai d'E/S sur les processeurs de messages :
| Nom de la propriété | Emplacement | Description |
|---|---|---|
io.timeout.millis
|
Proxy d'API :
|
Il s'agit du délai maximal pendant lequel le processeur de messages effectue les opérations suivantes :
Si le serveur backend ne répond pas dans ce délai, le processeur de messages expire.
Par défaut, cette propriété prend la valeur définie pour la
Si cette propriété est modifiée avec une nouvelle valeur de délai pour un proxy d'API spécifique, seul ce proxy d'API est affecté. |
HTTPTransport.io.timeout.millis
|
Processeur de messages |
Il s'agit du délai maximal pendant lequel le processeur de messages effectue les opérations suivantes :
Si le serveur backend ne répond pas dans ce délai, 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'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 de ce document, assurez-vous de bien comprendre les sujets suivants :
- Si vous n'êtes pas familiarisé avec le délai d'E/S, consultez la description de la propriété
io.timeout.millisdans Spécification de la propriété de transport TargetEndpoint. - Si vous n'êtes pas familiarisé avec la configuration des propriétés pour Edge pour le cloud privé, consultez la section Configurer Edge.
- Assurez-vous de suivre les recommandations de la section Bonnes pratiques pour configurer le délai d'E/S.
Configurer le délai d'E/S dans un proxy d'API
Le délai d'E/S peut être configuré aux emplacements suivants du proxy d'API :
- Point de terminaison cible
- Règle ServiceCallout
Configurer le délai d'E/S dans le point de terminaison cible du proxy d'API
Cette section explique comment configurer le délai d'E/S dans le point de terminaison cible de votre proxy d'API.
Le délai d'E/S peut être configuré via la propriété io.timeout.millis, qui
représente la valeur du délai d'E/S en millisecondes.
- 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'E/S.
- Sélectionnez le point de terminaison cible spécifique que vous souhaitez modifier.
- Ajoutez la propriété
io.timeout.millisavec une valeur appropriée sous l'<HTTPTargetConnection>élément dans laTargetEndpointconfiguration. - Enregistrez les modifications apportées à votre proxy d'API.
Par exemple, pour modifier le délai d'E/S à 120 secondes, ajoutez le bloc de code suivant :
<Properties>
<Property name="io.timeout.millis">120000</Property>
</Properties>Étant donné que la propriété io.timeout.millis est exprimée en millisecondes, la valeur de 120 secondes est 120000.
Les exemples suivants montrent comment configurer le délai d'E/S dans la configuration du point de terminaison cible configuration de votre proxy d'API :
Exemple de configuration de point de terminaison cible à l'aide d'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 à l'aide d'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'E/S dans la règle ServiceCallout du proxy d'API
Cette section explique comment configurer le délai d'E/S dans la règle ServiceCallout de votre
proxy d'API. Le délai d'E/S peut être configuré via l'élément <Timeout> ou la propriété io.timeout.millis. L'élément <Timeout> et la propriété
io.timeout.millis représentent les valeurs de délai d'E/S en millisecondes.
Vous pouvez configurer le délai d'E/S dans la règle ServiceCallout à l'aide de l'une des méthodes suivantes :
<Timeout>élément.- Propriété
io.timeout.millis
Élément Timeout
Pour configurer le délai d'E/S dans la règle ServiceCallout à l'aide de l'élément <Timeout>, procédez comme suit :
- 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'E/S pour la règle ServiceCallout.
- Sélectionnez la règle ServiceCallout spécifique que vous souhaitez modifier.
- Ajoutez l'élément
<Timeout>avec une valeur appropriée sous la<ServiceCallout>configuration.Par exemple, pour modifier 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 est120000.L'exemple suivant montre comment configurer le délai d'E/S dans la règle ServiceCallout à l'aide de l'élément
<Timeout>:Exemple de configuration de règle ServiceCallout à l'aide d'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'E/S dans la règle ServiceCallout à l'aide de la
io.timeout.millis propriété, procédez comme suit :
- 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'E/S pour la règle ServiceCallout.
- Sélectionnez la règle ServiceCallout spécifique que vous souhaitez modifier.
- Ajoutez la propriété
io.timeout.millisavec une valeur appropriée sous l'<HTTPTargetConnection>élément dans la configuration TargetEndpoint.Par exemple, pour modifier le délai d'E/S à 120 secondes, ajoutez le bloc de code suivant :
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>Étant donné que la propriété
io.timeout.millisest exprimée en millisecondes, la valeur de 120 secondes est120000.Les exemples suivants montrent comment configurer le délai d'E/S dans la configuration du point de terminaison cible de votre proxy d'API :
Exemple de configuration de règle ServiceCallout à l'aide d'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 de règle ServiceCallout à l'aide d'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'E/S sur les processeurs de messages
Cette section explique comment configurer le délai d'E/S sur les processeurs de messages.
Le délai d'E/S peut être configuré via la propriété HTTPTransport.io.timeout.millis,
qui représente la valeur du délai d'E/S en millisecondes sur le composant de processeur de messages,
à l'aide du jeton conformément à la syntaxe décrite dans
Configurer
Edge.
Pour configurer le délai d'E/S sur les processeurs de messages, procédez comme suit :
- 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
- Ajoutez une ligne au format suivant au fichier de propriétés, en remplaçant
TIME_IN_MILLISECONDS par une valeur :
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
Par exemple, pour modifier le délai d'E/S sur le 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 avez plusieurs processeurs de messages, répétez les étapes ci-dessus sur tous les processeurs de messages.
Vérifier le délai d'E/S sur les processeurs de messages
Cette section explique comment vérifier que le délai d'E/S a été modifié sur les processeurs de messages.
Même si vous utilisez le jeton conf_http_HTTPTransport.io.timeout.millis pour définir le
délai d'E/S sur le processeur de messages, vous devez vérifier si la propriété
HTTPTransport.io.timeout.millis a été définie avec la nouvelle valeur.
- Sur la machine du processeur de messages, recherchez la propriété
HTTPTransport.io.timeout.millisdans le répertoire/opt/apigee/edge-message-processor/confet vérifiez si elle a été définie avec la nouvelle valeur, comme indiqué ci-dessous :grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Si la nouvelle valeur de délai d'E/S est correctement définie sur le processeur de messages, la commande ci-dessus
affiche la nouvelle valeur dans le fichier
http.properties. - Si vous voyez toujours l'ancienne valeur pour la propriété
HTTPTransport.io.timeout.millis, vérifiez que vous avez suivi correctement toutes les étapes décrites dans Configurer le délai d'E/S sur les processeurs de messages. Si vous avez manqué une étape, répétez-les toutes correctement. - Si vous ne parvenez toujours pas à modifier le délai d'E/S, veuillez contacter l'assistance Apigee Edge.
L'exemple de résultat de la commande ci-dessus après avoir configuré le délai d'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éfinie avec la nouvelle valeur 120000 dans
http.properties. Cela indique que le délai d'E/S est correctement configuré
sur 120 secondes sur le processeur de messages.
Et ensuite ?
Découvrez comment configurer le délai d'E/S sur les routeurs.