La partie http de la bibliothèque standard Golang fournit un puissant support d'applications Web. Couplée à la prise en charge de frameworks middleware tels que Negroni, des applications Web hautes performances peuvent être développées (telles que). comme le service API de Restful, etc.). En tant que proxy inverse, obtenez des services de cluster à haute disponibilité. Lorsque la version de l'application est mise à niveau, comment implémenter une mise à jour de version du serveur polymorphe plus élégante ?
Analyse des problèmesMise à jour de l'application Web, je pense qu'il peut y avoir plusieurs problèmes à prendre en compte :
Compiler Les fichiers binaires de l'application et les fichiers de configuration sont téléchargés sur le serveur ; Le serveur d'application peut détecter qu'une nouvelle version est téléchargée
Mettre à jour la version à chaud sans arrêter le service ;
Il est préférable que tous les processus de mise à jour puissent être scriptés pour réduire les erreurs manuelles.Solution
En fait, la communauté go a des projets open source qui peuvent détecter automatiquement les modifications dans les applications Web et mettre en œuvre des mises à jour automatiques, mais ces applications détectent toutes le code source , Mettez à jour les fichiers de ressources, démarrez le processus de construction et réalisez une compilation et un redémarrage automatiques.Par exemple, gin et Fresh, ces applications peuvent être utilisées dans les étapes de développement et de test. Elles ne conviennent peut-être pas au déploiement et aux mises à jour d'applications, mais elles fournissent de bonnes idées.
Télécharger le répertoire et la version de l'environnement de déploiement
Je stockerai les fichiers binaires de l'application publiée et les fichiers de configuration dans un certain répertoire, tel que ~/app/release , chaque version est conservée dans ce répertoire, comme app.1.0, app.1.1, app.2.0. Une fois qu'un problème est détecté, il peut être restauré dans le temps.
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!