Microservices : délais, réessais et disjoncteur
Post-incident — Le service tarifs a ralenti ; commandes, qui l'appelle sans délai d'expiration, a saturé tous ses threads et est tombé à son tour (panne en cascade).
Configurez Resilience4j dans ~/commandes/src/main/resources/application.yml pour l'instance tarifs :
- timelimiter :
timeout-duration: 2s - retry :
max-attempts: 3,wait-duration: 200ms, backoff exponentiel (enable-exponential-backoff: true,exponential-backoff-multiplier: 2) - circuitbreaker :
sliding-window-size: 20,failure-rate-threshold: 50,slow-call-duration-threshold: 1s,slow-call-rate-threshold: 50,wait-duration-in-open-state: 30s,permitted-number-of-calls-in-half-open-state: 5
Puis ./mvnw -q test -Dtest=ResilienceTarifsTest. Dans quel état passe le disjoncteur après ses 30 s ouvert ? → answer etat <half-open|closed|open> ; quelle précaution pour réessayer sans risque un POST ? → answer retry <idempotence|compression|cache>
Contenu Premium+
Ce contenu est inclus dans l'offre Premium+. Le titre et le résumé restent visibles pour vous aider à choisir.
Tâches
- Délai et réessais
- Disjoncteur
- États et idempotence