【问题标题】:AWS How do I forward each request to a new instanceAWS 如何将每个请求转发到新实例
【发布时间】:2017-10-02 16:03:27
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

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

    将每个“任务”放入 SQS 队列,当它们准备好时,实例会请求一个任务来处理。如果他们成功完成任务,那么工作人员/实例将其从队列中删除,并可以请求另一个任务来处理。

    如果实例由于某种原因失败,任务最终会自动放回队列中,并可以被另一个工作人员接走。

    虽然一名工人有一个任务项要处理,但它不会同时交给另一名工人(警告:除非在极少数情况下并且可能在非常大的数量下 - 就我个人而言,我从未有过发生,但您需要考虑可能性)。

    【讨论】:

    • 感谢您的回复,我将调查 SQS。我会留下评论它是怎么回事。
    猜你喜欢
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2020-01-06
    • 2015-04-16
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多