Conteneurs : Docker, Compose et Swarm

Expert

Chaque version perd des requêtes

La boutique tourne sur Docker Swarm, avec deux répliques de l'API, et pourtant chaque livraison casse le paiement pendant une minute environ. Aujourd'hui la CI livre la 1.5.0, qui met environ 25 secondes à démarrer, puis la 1.5.1 un peu plus tard. Rends les livraisons invisibles pour les clients : pas une seule requête en échec pendant le déploiement de la nouvelle version.

Ton terminal est sur manager-1, qui est vidé (drain) : les tâches tournent sur worker-1 et worker-2. La CI ne lance que docker service update --image ... shop_api : tout le reste dont le service a besoin doit déjà être dans sa définition. Le test appelle http://<cluster>/products chaque minute pendant deux heures, et toutes les 2 secondes pendant quatre minutes à partir de chaque livraison : la 1.5.0 à 0 h 30, la 1.5.1 à 1 h 15.

Ce que ton serveur doit tenir

  • probes.rollout ≥ 100
  • stack.outdatedTasks = 0
  • Disponibilité ≥ 99 %

Ce que tu vas maîtriser