Maison >développement back-end >Golang >Configuration du délai d'inactivité de la connexion et bonnes pratiques pour http.Transport en langage Go
Configuration du délai d'inactivité de connexion et meilleures pratiques pour http.Transport en langage Go
En langage Go, http.Transport est un gestionnaire de connexion d'interrogation de bas niveau pour les requêtes HTTP. Il peut être utilisé pour configurer et gérer le comportement et les propriétés des connexions HTTP afin d'obtenir une communication réseau plus flexible et plus efficace. Cet article présentera la configuration du délai d'inactivité des connexions dans http.Transport et quelques bonnes pratiques.
Le délai d'inactivité de la connexion signifie que lorsqu'une connexion HTTP n'est pas utilisée pendant un certain temps, elle sera considérée comme une connexion inactive. http.Transport fournit deux paramètres de délai d'expiration associés pour la connexion afin de contrôler le délai d'inactivité de la connexion.
IdleConnTimeout est un délai d'attente d'inactivité de connexion global, qui correspond au cycle de vie maximum de toutes les connexions inactives. Par défaut, il s'agit de 0, ce qui signifie que les connexions inactives ne seront pas activement fermées. S'il est défini sur une valeur positive, http.Transport fermera une connexion et la supprimera du pool de connexions lorsqu'elle n'a pas été utilisée pendant la période de temps spécifiée.
Voici un exemple de code montrant comment définir IdleConnTimeout :
package main import ( "net/http" "time" ) func main() { client := http.Client{ Transport: &http.Transport{ IdleConnTimeout: 30 * time.Second, }, } // 使用client发送HTTP请求... }
Dans le code ci-dessus, nous créons un http.Client avec le paramètre IdleConnTimeout. Dans cet exemple, le délai d'expiration de la connexion inactive est défini sur 30 secondes. Si la connexion n'est pas utilisée dans les 30 secondes, elle sera automatiquement fermée.
MaxIdleConns est le nombre maximum de connexions inactives dans le pool de connexions. Par défaut, il s'agit de 2, ce qui signifie que jusqu'à 2 connexions inactives peuvent être stockées dans le pool de connexions. Si le pool de connexions est plein, les connexions inactives suivantes seront immédiatement fermées.
Voici un exemple de code montrant comment définir MaxIdleConns :
package main import ( "net/http" ) func main() { client := http.Client{ Transport: &http.Transport{ MaxIdleConns: 10, }, } // 使用client发送HTTP请求... }
Dans le code ci-dessus, nous créons un http.Client avec les paramètres MaxIdleConns. Dans cet exemple, le pool de connexions peut stocker jusqu'à 10 connexions inactives.
Meilleure pratique :
Ce qui précède est une introduction à la configuration du délai d'inactivité de la connexion et aux meilleures pratiques de http.Transport en langage Go. En configurant correctement les paramètres de délai d'inactivité de la connexion, les performances de communication réseau peuvent être optimisées et la stabilité et la fiabilité du programme améliorées.
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!