php - 在许多不同的 AWS 服务器上分发 PHP cron 作业脚本
问题描述
我有一个每 60 秒运行一次的 cron 作业脚本来处理结果并将结果存储在数据库中。每天最多有 1,440 个新数据库条目。
我需要有数以百万计的数据库条目,因此仅使用此脚本的一个实例来执行此操作确实是不切实际的。我正在寻找至少 50 倍的加速,如果成本合理的话,最好是 300 到 500 倍。
看来我需要一个服务器场,但我必须使用 Amazon Web Services 来处理这些数据。如何设置此脚本以同时运行多个实例,同时将数据存储在一个统一的数据库中?
每次我想运行这个脚本时,我是否需要创建完全独立的服务器实例,从而增加成本?
谢谢您的帮助!
解决方案
使用远程 lambda 函数执行由队列系统触发的作业的无服务器方法在技术上和定价层面都可以解决您的问题。
https://aws.amazon.com/lambda/
例如,您可以从本地集中式脚本(例如,通过单个 cron)触发 lambda 函数执行,该脚本将一些消息排入队列系统,以获得您需要以异步/并发方式计算的多个条目。
无服务器框架可以帮助您避免 AWS 锁定:
https ://serverless.com/
推荐阅读
- javascript - 在选择标签中选择选项时如何显示单选框或文本框?
- eclipse - 打开 Eclipse 时出现不支持的内容类型的错误消息
- javascript - 在危险的SetInnerHTML 中传递反应组件
- reactjs - React:props 更改时不会触发 componentWillReceiveProps
- javascript - 无法导航用户。未定义不是对象(评估 this.props.navigation.navigate)
- algorithm - 如何获得离其他点最近的点?
- tensorflow - AttributeError:模块'tensorflow.python.layers.layers'没有属性'Layer'
- mongodb - Azure Cosmos DB:将集合克隆到另一个数据库
- python - 试图优化 n 范围的交集但尚未提出解决方案?
- postgresql - 如果我已经将它们流式传输到备用服务器,是否需要存档 postgres WAL 记录?