Quartz具有集中式调度和监控功能

时间:2018-03-16 14:49:51

标签: spring scheduled-tasks quartz-scheduler scheduler

我们正在努力改进整个企业的批量作业调度和监控流程。目前,我们所有的批处理作业都使用Unix crontab进行调度,并使用shell脚本生成的日志文件进行监视。

这个过程有很多缺点,随着应用程序数量的增加,这变得非常复杂。

  1. 需要将两个应用程序副本一个部署到App-Server,另一个部署为独立应用程序(因为业务逻辑在两者之间共享)。这也使我们的构建过程变得复杂。
  2. 我们没有易于使用的web-ui来查看作业的状态并远程手动运行失败的作业而无需进入unix框。
  3. 没有故障转移或负载均衡的批处理。
  4. 所以我想在我们的应用程序中使用Quartz(使用我们现有的Spring应用程序)并将它们部署到App-Servers,而不再依赖于unix crontab。

    有没有办法可以编写集中式Web应用程序,从中可以安排和监控在不同应用服务器上的不同石英调度程序上运行的作业?

    P.S:我知道quartzdesk.com是一个解决方案,但我不想在我的JVM上启用RMI。

1 个答案:

答案 0 :(得分:0)

您可以将SpringBoot调度程序用作Orchestrator,并为远程(或本地,如果您很小)执行调用REST API。这样,随着您的应用程序的增长,您可以轻松利用负载均衡器。

如果您有可能使用云服务(如Amazon,Azure或Google Cloud),可以使用自己的负载均衡器轻松完成。他们还支持码头工人,可以处理任何利用高峰。