gpt4 book ai didi

java - 使用 Quarkus 进行零停机部署

转载 作者:行者123 更新时间:2023-12-02 02:18:29 25 4
gpt4 key购买 nike

Quarkus 很棒,但您无法进行零停机部署,对吗?

我对 Quarkus 的体验非常有限,仅限于简单的 RESTful Web 应用程序。将其作为自己的容器在 native 运行,没有 Jetty,也没有 Tomcat,因此它可以自行运行。

问题是,如果不加以遏制,比如在应用程序服务器内部(例如提供开箱即用的零停机部署的 NGINX Unit),部署 Quarkus Web 应用程序将非常痛苦,停机时间几乎为 100%,除非您采取一些巧妙的技巧。

我的问题是:您能否实现零停机的基于 Quarkus 的 Web 应用部署?如果可以,如何实现?

最佳答案

没有任何“巧妙的技巧”可以实现零停机部署。每个人都使用一个简单的原则(我很确定 Nginx Unit 也不异常(exception)):在应用程序前面添加一个负载均衡器。 (听说 Nginx 不错...)

为了更新,您:

  1. 保持旧版本运行并保持负载均衡器指向它;
  2. 启动新版本;
  3. 完全启动后,将负载均衡器上的流量从旧版本重定向到新版本(这有多种变体,您可以立即或逐渐重定向流量,可以进行 session 耗尽等);
  4. 当不再使用旧版本时,停止并删除它。

Quarkus 非常适合在 Kubernetes 中运行,它提供开箱即用的零停机部署(使用我上面描述的相同原理)。

关于java - 使用 Quarkus 进行零停机部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66795553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com