Microservices : délais, réessais et disjoncteur

Senior LinuxMicroservices40 min80 XP

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

  1. Délai et réessais
  2. Disjoncteur
  3. États et idempotence