【问题标题】:Spring boot hot reloadSpring Boot 热重载
【发布时间】:2018-05-10 10:54:58
【问题描述】:

我使用的是 spring boot 并使用 fat jar 进行生产,这很酷。

但是,我部署的方式会在重新部署时强制应用程序关闭大约 15 秒,因为我必须终止正在运行的 jar 并启动新的 jar。我还没有找到任何解决方案,即如何在不重新启动的情况下重新加载新 jar。

是否可以“热重新加载/替换” jar 或者我必须在容器中运行,如 tomcat,并部署战争?

请注意,它正在生产中,所以我猜 dev-tools 是不可能的。

【问题讨论】:

  • 不幸的是,这是不可能的。蓝绿部署是实现这种零停机重新部署的策略。
  • @fateddy 所以最简单的方法是将war gule部署到正在运行的tomcat?
  • 不确定您的意思-但由于Java的性质-没有解决方法(例如与解释语言相比)。如前所述,看看蓝绿部署策略。

标签: java spring spring-boot


【解决方案1】:

我猜这是更多的基础设施问题。 您可以创建运行您的应用程序的第二个“保留”实例。 当您在主实例上更新您的应用程序时 - 所有用户请求都必须重定向到第二个“保留”实例。重新部署完成后 - 您再次将请求重定向到主实例。然后在保留实例上重新部署应用程序。例如,Nginx 可以帮助您进行这些重定向。

【讨论】:

    猜你喜欢
    • 2021-03-02
    • 2018-09-28
    • 2019-02-04
    • 2023-03-15
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2014-06-17
    • 2014-02-19
    相关资源
    最近更新 更多