【问题标题】:Are there any advantages using Java Service Wrapper over Supervisor or Systemd?与 Supervisor 或 Systemd 相比,使用 Java Service Wrapper 有什么优势吗?
【发布时间】: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 系统可能至少会提供主管。

标签: java java-service-wrapper


【解决方案1】:

我在过去的工作中使用了 Tanuki Software 的 Java Service Wrapper,它对我们非常有效。我们使用它的主要用途是控制脚本、JVM 监控以及触发重启和线程转储。您可以查看完整的list of features

在现代应用程序中,这些可能被其他工具部分覆盖,例如构建/打包工具,这些工具可以生成服务和控制脚本、日志和指标聚合服务,以及容器引擎自动重启中的健康检查。让您的应用程序更具弹性也可以缓解很多问题。

话虽如此,我仍然认为如果您的应用程序不能优雅地处理故障并且在进入有趣状态时需要重新启动,那么它会很方便。

我个人正在寻找其他方法来统治我继承的麻烦巨石。

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 2018-10-08
    • 2012-12-09
    • 1970-01-01
    • 2010-09-24
    • 2010-12-27
    • 2015-04-06
    • 2013-05-09
    • 2017-05-29
    相关资源
    最近更新 更多