我创建了一个 python 脚本,该脚本在 EC2 实例上使用 Selenium 处理视频,从 SQS 队列中获取每条消息的输入。这对于单个视频来说效果很好,但我需要同时处理数百个视频。我当前的解决方案是为 SQS 队列中的每条消息启动一个新的 EC2 实例,使用以下服务:
我还想知道是否应该从 SQS 检索每个 EC2 的批次,而不是一次一条消息,以减少启动的实例数量,从而为了成本而牺牲速度。
这在架构方面是正确的方法吗?
我认为更好的方法是使用AWS Batch。甚至可以将其与 Fargate 一起使用。不过,在某些情况下,使用 EC2 而不是 Fargate 更好。您可以在这里阅读相关内容https://docs.aws.amazon.com/batch/latest/userguide/fargate.html#when-to-use-fargate。 您仍然需要 Lambda 函数来启动 AWS Batch 作业。