ctw*_*els
8
linux
high-availability
cron
信息
我们目前正在为运行 PHP 的 NGINX(在 Centos 7 上)创建一个高可用性集群。大多数配置已经被映射,它应该在集群环境中可以很好地工作。
不幸的是,我们唯一无法弄清楚如何与集群配合使用的是cron 作业(cron 作业将执行 PHP 代码)。据我所知,cron 作业是在每个主机上单独执行的。这意味着我们要么:
- 不要有一个完整的高可用性环境,在单个服务器出现故障时,另一台服务器接管并且一切仍然像以前一样工作(尽管速度较慢)。
- 我们运行每个 cron 作业并将结果保存在数据库中以确定它是否已经运行。这不是一个可行的解决方案,因为我们的一些 cron 作业可能需要数小时才能运行 - 这些需要在下一个工作日之前执行。
- 我们找到了某种能够执行高可用性 cron 作业的解决方案。
研究
看到解决方案 3如何帮助我们维护高可用性环境,这是首选方法。不幸的是,我们对其中一些解决方案不太熟悉,因此我寻求您的专业知识,帮助我们找到适合我们需求的解决方案。我们对 Linux 机器不是很熟悉(除了 NGINX 服务器之外,整个环境都是 Windows)并且对使用这些机器知之甚少(尽管到目前为止我们已经能够弄清楚)。
选项
- 德克朗
- 此解决方案似乎提供了简单的设置,并且似乎是一款不错的产品
- 克罗诺斯
- 这使用多个其他实用程序进行操作,包括实际数据库(不理想,但可以工作)
- 跑台
- 遥控
- 除了它是基于 Golang 之外,我对此知之甚少。
- 自定义脚本:如何使 cronjobs 高可用?
- 这是一种“如果一切都失败了”的方法,如果没有其他方法有效......
- 其他选择???- 如果您找到了其他选项,请提供其他选项,我会将它们包含在此处
问题
- 您对不同的选择有何专家意见或建议?
- 您使用不同选项(优点/缺点)有哪些经验?
- 您认为我们将哪些选项用于我们的基础设施?(如果需要有关我们基础设施的更多信息,请告诉我)
笔记
非常感谢有关此问题的任何帮助。
我意识到之前已经问过这个问题,尽管它似乎已经过时了(2011 年)并且已经创建了许多新的解决方案。