115 Pratiques d'écoconception d'applications à architecture web, et plus...
Source CNUMR [BP_4032_fr]

Mettre en place un “Circuit breaker”

Identifiants

GreenITV2V3V4

Catégories

Cycle de vieTiersResponsable
2. ConceptionDatacenterArchitecte Logiciel/Développeur

Indications

Degré de prioritéMise en oeuvreImpact écologique
222
Ressources Economisées
Processeur / Réseau / Requêtes

Description

Un “circuit breaker” casse le traitement d’une requête à travers plusieurs services dans le cas où un des services ne répond pas. Des requêtes provenant des terminaux utilisateurs peuvent solliciter des services utiles et aussi pour lesquels un mode dégradé est acceptable. Ils sont qualifiés de non critiques. En fonction d’un certain nombre de critères d’erreur (timeout, nombre d’erreurs), le service appelant un service non critique peut désactiver cet appel et renvoyer immédiatement une réponse alternative. Ce pattern permet de ne pas solliciter inutilement un service et le réseau.

Exemple

Sur un site e-commerce les informations détaillées d’une fiche produit peuvent être fournies par un service dédié. Le service principal qui récupère une page produit a “appris” que le service des informations détaillées était en erreur, il évite alors de l’appeler inutilement tant qu’il ne répond pas favorablement et ne renvoie donc pas cette information à l’utilisateur final. Le service reste opérationnel bien que l’expérience soit dégradée.

Principe de validation

Le nombre …est inférieur ou égal à
de “circuit breaker” non mis en place sur des services non critiques0