例如,我必须每分钟定期运行一个实用程序。 因此,我有两个选项@Scheduled spring boot vs Linux box的crontab,我们将使用它们来部署工件。 所以,我的问题是应该使用哪种方式? 每个解决方案的优缺点是什么,如果您可以建议的话,可以选择其他解决方案。
答案 0 :(得分:0)
仅用于比较这两者,我没有太多要点,只是基于我现在所面临的这种情况。我刚刚建立了一个新的端点,并且正在针对生产环境进行性能测试和压力测试。我尚未决定cron的排程时间,可能需要在更多观察时间上稍作调整。通过@Scheduled进行设置需要我每次进行更改时都部署/重新启动应用程序。
重新启动应用程序通常比crontab编辑花费更多时间。
除此之外,还需要考虑可用性和可伸缩性方面的几点-
因此,就可用性和可伸缩性而言,这些似乎都不是最好的。 在这种情况下,理想情况下需要一个分布式cron管理系统(我听说过Rundeck),该系统可以管理在可用服务器中调用哪个以达到所需的端点,并在需要时调用下一个服务器。第一个失败了。 如有任何调查需要。可以检查rundeck的日志以找到实际被调用的服务器。