运行 个工作的 AWS 服务
AWS service for running a job
我有一个每 5 分钟运行一次的 NodeJS 作业,查询数据库(MySql 和 PostgreSQL)并根据结果 - 准备并向收件人发送电子邮件。
目前,每 5 分钟在一个 EC2 上的作业 运行 很好。现在我想让解决方案更加健壮,并为任何中断做好准备(例如,在另一个区域准备好另一个 EC2 并使用相同的代码和逻辑,如果第一个 EC2 出现故障,它将接管)。
哪种 AWS 服务最适合这个?目前正在考虑 Auto Scaling Group(如果第一个 EC2 关闭,它可以检测并旋转另一个具有相同代码的 EC2)、Elastic Beanstalk 甚至 Lambda(每 5 分钟触发一次)..
假设在中断期间最多可以将服务降低 5-10 分钟,对此建议的服务是什么。
我建议您使用 AWS Lambda,它是一种功能即服务。由于您编写了 nodejs 代码,您将能够简单地将其转换为 AWS Lambda 函数。
Lambda 提供高可用性、高可扩展性。您可以安排一个 cloudwatch 事件以每 5 分钟触发一次此 lambda,这是您的要求。
目前 lambda 可以处理 运行 300 秒的任务。因此,如果您的功能可以在时间范围内执行,这将是一个很好的解决方案。
我有一个每 5 分钟运行一次的 NodeJS 作业,查询数据库(MySql 和 PostgreSQL)并根据结果 - 准备并向收件人发送电子邮件。
目前,每 5 分钟在一个 EC2 上的作业 运行 很好。现在我想让解决方案更加健壮,并为任何中断做好准备(例如,在另一个区域准备好另一个 EC2 并使用相同的代码和逻辑,如果第一个 EC2 出现故障,它将接管)。
哪种 AWS 服务最适合这个?目前正在考虑 Auto Scaling Group(如果第一个 EC2 关闭,它可以检测并旋转另一个具有相同代码的 EC2)、Elastic Beanstalk 甚至 Lambda(每 5 分钟触发一次)..
假设在中断期间最多可以将服务降低 5-10 分钟,对此建议的服务是什么。
我建议您使用 AWS Lambda,它是一种功能即服务。由于您编写了 nodejs 代码,您将能够简单地将其转换为 AWS Lambda 函数。
Lambda 提供高可用性、高可扩展性。您可以安排一个 cloudwatch 事件以每 5 分钟触发一次此 lambda,这是您的要求。
目前 lambda 可以处理 运行 300 秒的任务。因此,如果您的功能可以在时间范围内执行,这将是一个很好的解决方案。