Est-il possible de déployer une nouvelle application .war sans arrêter l'application?

StackOverflow https://stackoverflow.com/questions/1663757

  •  12-09-2019
  •  | 
  •  

Question

Hé, je suis nouveau à Grails, et je me demande sur le déploiement. Une fois qu'un .war est déployé à la production, comment puis-je mettre à jour l'application sans interruption de service?

Était-ce utile?

La solution

Même si vous déployez chaud le fichier WAR (par pas le redémarrage du serveur), il y aura toujours un temps d'arrêt alors que les rechargements de contexte. Ce n'est pas une chose Grails en tant que tel, plus d'une chose J2EE / servlet.

Comme dit Dogbert, mieux de mettre en place une page de maintenance (en utilisant Apache Tomcat devant est une bonne idée) et arrêter le serveur d'applications, télécharger la nouvelle WAR puis démarrer le serveur à nouveau.

Autres conseils

Vous pourriez configurer deux instances de tomcat avec un mod_proxy_balancer Apache devant lui, comme décrit script gant , donc un simple « cluster redéployer de Grails » fait tout ce dont vous avez besoin. Un tel scénario est actuellement sur ma liste, mais je ne sais pas quand ce sera fini.

Si vous utilisez Tomcat, il est possible, avec ce qu'on appelle le déploiement parallèle:

http://tomcat.apache.org/tomcat- 7.0-doc / config / context.html # Parallel_deployment

Il suffit de nommer les fichiers de guerre avec le numéro de version comme décrit dans le document:

  • foo ## 42.war
  • foo ## 43.war

Une fois que votre application est emballé comme une guerre, les modifications apportées aux fichiers source ne seront pas propagées automatiquement comme vous rodé app. En général, je pense que en particulier pour le code compilé avec le code qui est effectivement vivre tout le temps, il est un peu risqué d'effectuer des mises à jour en direct. Vous pouvez faire face à la Glitch de déploiement étrange au cours du développement, mais dans la production que je préfère jouer en toute sécurité et vivre avec un peu de temps d'arrêt.

Tout ce que je sais est que vous pouvez modifier un fichier groovy ou un .gsp un et après avoir enregistré les modifications sont disponibles dans le navigateur, mais s'il y a d'autres types de fichiers que je ne suis pas certain de cette fonctionnalité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top