我一直在思考这个问题一段时间了,只是需要一些关于采取什么解决方案的结论!
我正在考虑将我的 CakePHP 应用程序部署到 AWS Elastic Beanstalk,我正在尝试在以下方面找到解决方案:
首先,我有可以通过控制台命令(path/to/Console/cake sqs)运行的侦听器,它可以继续检查 SQS 消息(传递给工作人员)。我想以某种方式守护这个过程,以确保这些侦听器永远不会停止在所有服务器上运行。
其次,我正在考虑如何处理 cron 作业问题。我想要么在所有服务器上都有 cron 作业,但 MySQL 或 ElasticCache 锁定只允许第一台服务器实际运行作业,或者使用 Iron.io 等外部服务来安排消息。
我会很感激你的经历。