【问题标题】:Different Versions of an application in same java application server同一个java应用服务器中不同版本的应用
【发布时间】:2011-02-14 14:08:49
【问题描述】:

我们正在使用 citrix netscalar 和 20 多个 glassfish Java 应用程序服务器。不幸的是,我们必须在部署新版本之前删除以前的应用程序,因为这两个不同的应用程序具有相同的上下文。由于构建过程中缺乏关注或其他问题,这个容易出错的过程会导致一些问题。在紧急情况下,我们只想将所有流量重定向到以前的应用程序。

在大量服务器上同时运行不同版本的应用程序的最佳做法是什么?

编辑:我想到的另一个简洁和普遍的例子是谷歌应用引擎。在 GAE 中,您可以根据需要部署不同的版本。然而,流量可以在运行时平滑地重定向到不同的应用程序。

谢谢

【问题讨论】:

  • 看看你为什么想要这个,听起来你确实需要一个更好的 QA 流程。您还需要确保在部署新版本时可以退出并放回旧版本。
  • 这是一个公司网站吗?如果是这样,您可以简单地部署新版本并将您的 DNS 指向新版本或旧版本。

标签: java cluster-computing buildfarm


【解决方案1】:

目前最好的解决方案是使用虚拟机。您使用该应用程序创建一个映像,然后在 VM 中运行它。虚拟机就像独立的机器一样工作。

【讨论】:

  • Romain,这远远超出了我们对易用性的要求。谢谢
【解决方案2】:

不同的 URL 或端口号是一种方法。您可以同时使用两者。

就部署而言,应该有一种编写脚本的方法,以便将单个版本同时推送到所有服务器。

【讨论】:

  • 不同的端口号是否意味着不同的应用服务器?我们绝对不希望出现这样的情况。我们的要求是同一台服务器,并且此应用程序的两个不同版本应在运行时更改。例如,在 google 应用程序引擎中,用户可以根据需要部署许多应用程序。但是在运行时流量可以重定向到选定的应用程序。
  • 不,您可以将应用服务器配置为使用给定域的默认端口以外的不同端口。这可能是处理版本控制的一种方式。
猜你喜欢
  • 2013-10-17
  • 2015-02-18
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多