【发布时间】:2020-02-26 16:16:49
【问题描述】:
要在 linux 服务器上以后台服务的形式运行 java 应用程序,有很多可能性。我可以使用Tanuki 的“Java Service Wrapper”或开源分支“Yet Another Java Service Wrapper”或我还不知道的东西。我可以使用 Supervisor 甚至 Systemd。
我的印象是,Java 包装器除了运行应用程序并设置必要的选项(堆最大大小,可能是类路径等),监控它,在必要时重新启动它或向应用程序发送信号重新加载,关闭或重新启动。我认为使用 Supervisor 和 Systemd 都可以轻松实现的事情。
我倾向于认为那些在 linux init 仍然基于 SystemV 时有用的包装器,但随着 supervisord 或 systemd 的存在而过时。我现在有什么遗漏的地方吗?
与通用过程控制系统(如 supervisor 或 systemd)相比,特殊的 java 包装器有什么优势吗?
【问题讨论】:
-
如果有人决定将您的基础架构迁移到没有 systemd 的操作系统怎么办?
-
目前我只是在考虑 Linux 系统,因此无法迁移到 Windows。迁移到不在 systemd 上运行的 linux 系统可能至少会提供主管。