2

我们正在做一些架构重构。我们是一家 SaaS 公司,所以所有的部署都是在我们自己管理的服务器上进行的。当前模型将我们所有的二进制文件以及我们使用的第三方库打包到 ear、wars、tars 等中。这些包包括它们所依赖的所有库。

当它们被部署时,它们被手动分解(解压缩)或被它们构建的任何目标容器拾取。

由于库没有太大变化,我们想知道作为环境设置的一部分预先部署库是否是一个更好的主意,并根据需要更新它们。我们不会偏向任何一种方式,我只是在寻找一些反馈。

4

1 回答 1

4

用ears、wars等打包库一般比较好,一些原因是:

  • 当您配置新的服务器机器时,它可以节省时间。如果您不将您的依赖项与您的可部署文件打包,则可能需要很长时间才能在新的目标服务器机器上获取所有正确的库。
  • 您可以将不同的 .war 文件部署到依赖于同一库的不同版本的应用程序服务器
  • 如果您将依赖项与可部署(只需重新部署)打包,则升级库是直接的。如果您的库是独立的,那么您有额外的步骤来部署新库(以及另一个可能出错的地方)。
  • 如果包含依赖项,您可以确定部署在测试环境中的 .war 在 prod 环境中的行为相同。集中式库和版本的测试/生产环境的细微差异通常会导致问题。
  • 您的依赖项列表非常明确。例如,您可以进行开源许可证审核。如果你不将依赖项与你的包一起打包,你永远不会知道......
于 2010-01-20T22:31:43.050 回答