gpt4 book ai didi

node.js - AWS 之上的可扩展 cron 架构

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:57 24 4
gpt4 key购买 nike

我们有客户使用的 Web 应用程序,他们可以选择创建报告。报告包含电子邮件预定时间(例如:每天上午 9 点)。

预定时间当前时间相匹配时,网络应用会做一些工作并将结果发送到电子邮件。

我有一个要求,需要在 swf 之上实现可扩展的 cron 架构。

我需要的架构如下所示:

  1. 用户创建报告(完成)
  2. Webapp 将报告保存到数据库,并通过 SQS(简单查询服务)将报告数据和计时器发送到 cron 微服务。 (完成)
  3. Cron 微服务读取传入的 SQS 消息,并在计时器结束时发回 SQS 消息。 (需要这个)
  4. Webapp 读取 SQS 消息并触发 Data Analyzer 和 Emailer 功能发送分析后的数据。 (完成)

据我了解 SWF 服务,我们可以创建 cron 作业和 SWF 自动缩放。如何使用 SWF 创建可扩展的 cron 微服务?

接受任何建议...

附言Web应用是用nodejs写的,用nodejs写微服务会很好。

更新 1:在花了一些时间研究可能的解决方案之后,我找到了 https://github.com/capside/CloudCron项目。但它依赖于 cloudwatch 事件。对于许多计划任务,IMO 可能会收取很多费用。

更新 2:Banjo Obayomi 建议将 Lambda 函数与 SQS 和 CWE 一起使用。

解决方案一:

  1. Webapp 发送 SQS 消息。
  2. SQS 消息触发 Lambda 函数1
  3. Lambda 函数创建 CWE 规则
  4. CWE 规则触发 Lambda 函数 2
  5. Lambda 函数 2 将 SQS 消息发送回 webapp。

限制:我们只能为每个区域创建 100 个 CWE 规则。这意味着 webapp 不能生成超过 100 个预定日期的报告。

链接: cron-in-aws-with-lambda-function

最佳答案

听起来您可以使用 AWS Lambda 作为您的摄取点,从传入的 SQS 消息中触发函数,进行处理,然后发回 SQS 消息。

https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/

关于node.js - AWS 之上的可扩展 cron 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53153181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com