Maison >développement back-end >Golang >Comment puis-je réutiliser efficacement les connexions HTTP dans Go ?

Comment puis-je réutiliser efficacement les connexions HTTP dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-20 04:29:08461parcourir

How Can I Efficiently Reuse HTTP Connections in Go?

Réutilisation des connexions HTTP dans Go

Lors de plusieurs requêtes HTTP, il est essentiel de réutiliser les connexions pour éviter une consommation inutile de ressources et améliorer les performances. Dans Go, cela peut être réalisé en suivant un ensemble de directives simples.

Tout d'abord, créez un client de transport et HTTP global. Cela garantit que toutes les requêtes sont traitées par le même pool de connexions sous-jacent :

// Create a new transport and HTTP client
tr := &http.Transport{}
client := &http.Client{Transport: tr}

Ensuite, transmettez toujours le même client HTTP à vos goroutines qui effectuent des requêtes HTTP :

r, err := client.Post(url, "application/json", post)

Cependant, la réutilisation des connexions n'est pas activée par défaut. Pour garantir qu'elle est correctement utilisée, il est crucial de lire l'intégralité de la réponse HTTP et de fermer explicitement le corps par la suite :

res, _ := client.Do(req)
io.Copy(ioutil.Discard, res.Body)
res.Body.Close()

En vous assurant que la réponse est entièrement lue et que le corps est fermé, la connexion peut être établie en toute sécurité. retourné à la piscine pour réutilisation dans les demandes ultérieures.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn