Vous consultez la documentation Apigee Edge.
Accédez à la
documentation Apigee X. info
Ce document explique comment configurer le délai avant expiration du message keep-alive pour les processeurs de messages Apigee Edge.
Le délai avant expiration du message keep-alive sur le processeur de messages permet à une connexion TCP unique 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 keep-alive 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 keep-alive pour les processeurs de messages peut être augmenté ou diminué par rapport à la valeur par défaut
de 60 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 du message keep-alive sur les processeurs de messages :
| Nom de propriété | Emplacement | Description |
|---|---|---|
keepalive.timeout.millis |
Proxy d'API :
|
Il s'agit du délai d'inactivité maximal pendant lequel le processeur de messages autorise une connexion TCP unique à 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é prend la valeur définie pour la
Si cette propriété est modifiée avec une nouvelle valeur de délai avant expiration pour le serveur cible utilisé dans le
point de terminaison cible ou la |
HTTPClient.keepalive.timeout.millis |
Processeur de messages |
Il s'agit du délai d'inactivité maximal pendant lequel le processeur de messages autorise une 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 Vous pouvez modifier cette propriété comme expliqué dans
Configurer le délai avant expiration du message keep-alive sur les processeurs de messages
ci-dessous, ou vous pouvez remplacer cette valeur en définissant la |
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 avant expiration du message keep-alive, consultez la
keepalive.timeout.millisdescription de la propriété dans Spécification de la propriété de transport TargetEndpoint. - Si vous n'êtes pas familiarisé avec la configuration des propriétés pour Edge sur Private Cloud, consultez la section Configurer Edge.
Configurer le délai avant expiration du message keep-alive dans un proxy d'API
Le délai avant expiration du message keep-alive peut être configuré dans le proxy d'API aux emplacements suivants :
- Point de terminaison cible
- Règle
ServiceCallout
Configurer le délai avant expiration du message keep-alive dans le point de terminaison cible du proxy d'API
Cette section explique comment configurer le délai avant expiration du message keep-alive dans le point de terminaison cible de votre
proxy d'API. Le délai avant expiration du message keep-alive peut être configuré via la propriété
keepalive.timeout.millis, qui représente la valeur du délai avant expiration du message keep-alive 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 avant expiration du message keep-alive.
- Sélectionnez le point de terminaison cible spécifique que vous souhaitez modifier.
-
Ajoutez la propriété
keepalive.timeout.millisavec une valeur appropriée sous l'<HTTPTargetConnection>élément dans laTargetEndpointconfiguration.Par exemple, pour modifier le délai avant expiration du message keep-alive sur
30secondes, ajoutez le bloc de code suivant :<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
Étant donné que la propriété
keepalive.timeout.millisest en millisecondes, la valeur pour30secondes est30000.Les exemples suivants montrent comment configurer le délai avant expiration du message keep-alive 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 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 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="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint> - Enregistrez les modifications apportées à votre proxy d'API.
Configurer le délai avant expiration du message keep-alive dans la règle ServiceCallout du proxy d'API
Cette section explique comment configurer le délai avant expiration du message keep-alive dans la
ServiceCallout règle de votre proxy d'API. Le délai avant expiration du message keep-alive peut être
configuré via la propriété the keepalive.timeout.millis qui représente
la valeur du délai avant expiration du message keep-alive en millisecondes.
Pour configurer le délai avant expiration du message keep-alive dans la règle ServiceCallout à l'aide de la
keepalive.timeout.millis propriété :
- 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 pour la règle
ServiceCallout. - Sélectionnez la règle
ServiceCalloutspécifique que vous souhaitez modifier. - Ajoutez la propriété
keepalive.timeout.millisavec une valeur appropriée sous l'<HTTPTargetConnection>élément dans laTargetEndpointconfiguration.Par exemple, pour modifier le délai avant expiration du message keep-alive sur
30secondes, ajoutez le bloc de code suivant :<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
Étant donné que la propriété
keepalive.timeout.millisest en millisecondes, la valeur pour30secondes est30000.Les exemples suivants montrent comment configurer le délai avant expiration du message keep-alive dans la
ServiceCalloutrègle 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>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 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="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout> - 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 keep-alive peut être configuré via la propriété
HTTPClient.keepalive.timeout.millis, qui représente la valeur du délai avant expiration du message keep-alive
en millisecondes sur le composant Processeur de messages. Étant donné que 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
Configurer Edge.
Pour configurer le délai avant expiration du message keep-alive 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 une valeur par
TIME_IN_MILLISECONDS :
conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
Par exemple, pour modifier le délai avant expiration du message keep-alive sur le processeur de messages sur
30secondes, ajoutez la ligne suivante :conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
- 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 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 keep-alive a bien été modifié 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é réelle
HTTPClient.keepalive.timeout.millis a été définie avec la nouvelle valeur.
- Sur la machine du processeur de messages, recherchez la propriété
HTTPClient.keepalive.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 "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
-
Si la nouvelle valeur de délai avant expiration du message keep-alive est correctement définie sur le processeur de messages, alors 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 du message keep-alive sur
30secondes est le suivant :/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
Dans l'exemple de résultat ci-dessus, notez que la propriété
HTTPClient.keepalive.timeout.millisa été définie avec la nouvelle valeur30000danshttp.properties. Cela indique que le délai avant expiration du message keep-alive est correctement configuré sur30secondes sur le processeur de messages. - Si l'ancienne valeur de la propriété
HTTPClient.keepalive.timeout.milliss'affiche toujours, vérifiez que vous avez suivi correctement toutes les étapes décrites dans Configurer le délai avant expiration du message keep-alive 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 avant expiration du message keep-alive, contactez l'assistance Google Cloud Apigee Edge.