AWS如何将每个请求转发到新实例

时间:2017-05-04 12:55:23

标签: amazon-web-services amazon-ec2

我有一个服务,它将任务发送给Docker镜像中包含的worker。 现在我想使用AWS FreeTier进行扩展(因此AutoScale组不是一个选项吗?)。 我使用这个图像测试了一个t2.micro实例构建,一切正常。 如果我手动创建x实例,如何平衡它们之间的负载? 实例是否可以设置一个标志,表示它可以接受更多请求?由于清理逻辑,内存和CPU使用率级别可能没有帮助。它仍然可以在低CPU和内存使用情况下运行。

1 个答案:

答案 0 :(得分:3)

我建议使用SQS。让实例“拉”'工作,而不是试图推动'为他们工作。

完成每个任务'进入SQS队列,实例请求任务在准备就绪时进行处理。如果他们成功完成任务,则worker / instance将其从Queue中删除,并可以请求另一个任务来处理。

如果实例因某种原因失败,该任务最终将自动返回队列,并可由另一名工作人员接收。

虽然一名工人有一个任务项目可以继续工作,但它也不会同时给另一名工人(警告:除极少数情况下,可能在非常高的情况下 - 我个人从来没有如果它发生了,但你需要考虑可能性。)