【问题标题】:Distributing a PHP cron job script across many different AWS servers在许多不同的 AWS 服务器上分发 PHP cron 作业脚本
【发布时间】:2018-10-15 12:05:23
【问题描述】:

我有一个每 60 秒运行一次的 cron 作业脚本来处理结果并将结果存储在数据库中。每天最多有 1,440 个新数据库条目。

我需要拥有数以百万计的数据库条目,因此仅使用此脚本的一个实例来执行此操作确实不切实际。我正在寻找至少 50 倍的加速,如果成本合理的话,最好是 300 到 500 倍。

似乎我需要一个服务器场,但我必须使用 Amazon Web Services 来处理这些数据。如何设置此脚本以同时运行多个实例,同时将数据存储在一个统一的数据库中?

每次我想运行这个脚本时,我是否需要创建完全独立的服务器实例,从而增加成本?

感谢您的帮助!

【问题讨论】:

  • 为什么使用 cron 而不是任务/作业队列? Gearman、RabbitMQ 等
  • 为什么你的 cron 脚本只添加一个条目?不能添加多个条目吗?

标签: php database indexing cron distribution


【解决方案1】:

使用远程 lambda 函数执行由队列系统触发的作业的无服务器方法在技术上和定价层面都可以解决您的问题。

https://aws.amazon.com/lambda/

例如,您可以从本地集中式脚本(例如,通过单个 cron)触发 lambda 函数执行,该脚本将一些消息排入队列系统,以获得您需要以异步/并发方式计算的尽可能多的条目。

无服务器框架可以帮助您避免 AWS 锁定:
https://serverless.com/

【讨论】:

    猜你喜欢
    • 2016-10-03
    • 2021-06-27
    • 2012-06-07
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多