Retour à la leçonMission
Mission : un appel à un fournisseur externe qui gèle toute la chaîne
Ajouter un timeout robuste sur un appel réseau externe et dimensionner un pool de workers, sans provoquer de deadlock ni de fuite de goroutines.
Contexte
Le service de paiement appelle une API d'un fournisseur externe connu pour parfois ne jamais répondre. Le code actuel fait directement resultat := <-appelerFournisseur(commande) sans aucune protection. Depuis un incident réseau chez ce fournisseur la semaine dernière, toute la chaîne de traitement des commandes s'est retrouvée figée pendant plus d'une heure.