Maîtriser le Context
Dans les microservices, vous ne voulez pas qu'une requête s'éternise si le client s'est déjà déconnecté. Le package context gère cela.
go ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second) defer cancel()
// Passer ctx aux appels DB ou API externes req, _ := http.NewRequestWithContext(ctx, "GET", url, nil)
Si le timeout est atteint, tous les processus en aval sont notifiés de s'arrêter, économisant ainsi les ressources.