Edge for Private Cloud v. 4.17.05
Configurer la réponse du routeur lorsqu'un processeur de messages n'est pas disponible lors d'une vérification d'état
Le routeur effectue une vérification d'état du processeur de messages toutes les cinq secondes pour déterminer si celui-ci est en mesure de traiter les requêtes. Si un processeur de messages tombe en panne, le routeur transfère automatiquement les requêtes vers un autre processeur de messages.
Vous pouvez configurer la réaction du routeur lorsque le processeur de messages tombe en panne en définissant la propriété conf_load_balancing_load.balancing.driver.nginx.server.retry sur le routeur. Cette propriété accepte un ensemble de valeurs séparées par des espaces, qui peut inclure :
- off : désactivez les nouvelles tentatives. Le routeur renvoie un code d'échec lors d'une requête.
- http_599 : (par défaut) si le routeur reçoit une réponse HTTP 599 du processeur de messages, il transfère la requête au processeur de messages suivant.
HTTP 599 est un code de réponse spécial généré par un processeur de messages lorsqu'il est arrêté. Le processeur de messages tente de traiter toutes les requêtes existantes, mais pour toute nouvelle requête, il répond par un code HTTP 599 pour signaler au routeur de relancer la requête sur le processeur de messages suivant. - error : si une erreur s'est produite lors de l'établissement d'une connexion avec le processeur de messages, de la transmission d'une requête à celui-ci ou de la lecture de l'en-tête de réponse, le routeur transmet la requête au processeur de messages suivant.
- timeout : si un délai d'expiration se produit lors de l'établissement d'une connexion avec le processeur de messages, de la transmission d'une requête à celui-ci ou de la lecture de l'en-tête de réponse, le routeur transmet la requête au processeur de messages suivant.
- invalid_header : si le processeur de messages a renvoyé une réponse vide ou non valide, le routeur transfère la requête au processeur de messages suivant.
- http_XXX : si le processeur de messages a renvoyé une réponse avec le code HTTP XXX, le routeur transfère la requête au processeur de messages suivant.
Pour configurer le routeur :
- Modifiez le fichier /opt/apigee/customer/application/router.properties (s'il n'existe pas, créez-le).
- Ajoutez la propriété conf_load_balancing_load.balancing.driver.nginx.server.retry comme indiqué ci-dessous :
conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error - Assurez-vous que le fichier de propriétés appartient à l'utilisateur "apigee" :
> chown apigee:apigee /opt/apigee/customer/application/router.properties - Redémarrez le routeur :
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
Configurer le délai avant expiration du routeur lors de l'accès aux processeurs de messages dans le cadre d'une requête de proxy d'API
Le routeur Edge dispose d'un délai d'expiration prédéfini de 57 secondes lorsqu'il tente d'accéder à un processeur de messages dans le cadre du traitement d'une requête via un proxy d'API. Une fois ce délai expiré, le routeur tente de se connecter à un autre processeur de messages, si un tel processeur est disponible. Sinon, l'appel renvoie une erreur.
Vous pouvez utiliser deux propriétés pour contrôler ce délai avant expiration :
- conf_load_balancing_load.balancing.driver.proxy.read.timeout spécifie le temps d'attente, en secondes, pour un seul processeur de messages. La valeur par défaut est de 57 secondes.
- conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout spécifie le temps d'attente total pour tous les processeurs de messages, en secondes, lorsque votre installation Edge comporte plusieurs processeurs de messages. La valeur par défaut est la valeur actuelle de conf_load_balancing_load.balancing.driver.proxy.read.timeout, ou 57 secondes.
Pour configurer le routeur :
- Modifiez le fichier /opt/apigee/customer/application/router.properties (s'il n'existe pas, créez-le).
- Définissez les propriétés comme indiqué ci-dessous :
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240 - Assurez-vous que le fichier de propriétés appartient à l'utilisateur "apigee" :
> chown apigee:apigee /opt/apigee/customer/application/router.properties - Redémarrez le routeur :
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart