如何部署dropwizard应用程序

Pau*_*uan 9 java deployment production tomcat dropwizard

我读了一些关于dropwizard应用程序构建的评论:[1]"Dropwizard被设计为作为JAR运行,而不是作为WAR文件运行." [2]"你不能这样做.Dropwizard嵌入了Jetty.你应该考虑使用Jersey作为标准的Web应用程序."所以,我的问题是:

1 - 如何在生产环境中部署jar文件?

2 - 我将如何管理服务?例如,有没有办法监控应用程序的健康状况?如果应用程序崩溃,我怎么能自动重新启动它?

[1] 如何从dropwizard应用程序创建战争? [2] 在tomcat容器中的Dropwizard

Kie*_*ief 3

您可以使用 runit 或 systemd 等工具来管理 Linux 上的 dropwizard 应用程序。他们可以做一些事情,例如确保它在系统启动时启动,并可以帮助检测故障。涉及一些脚本编写。

您可以将监控工具指向应用程序的运行状况检查 URL,以便在应用程序出现故障时发送警报。

对于部署,我更喜欢使用系统打包格式 .deb(基于 Debian 的系统,包括 Ubuntu)或 .rpm(基于 RedHat 的系统)来打包应用程序。使用 fpm 包生成器来创建它,并包含您的 runit 文件(或其他文件)以及用于将 jar 文件复制到目标系统上某处的脚本。如果您有一个私有软件包存储库,您可以将应用程序的构建放入其中,安装只需“apt-get install myapp”或“yum install myapp”即可。否则,将软件包放到目标服务器上并运行“rpm -i myapp.rpm”或类似命令。