【问题标题】:How to pool AWS SQS with AWS Lambda如何将 AWS SQS 与 AWS Lambda 池化
【发布时间】:2018-07-30 16:07:21
【问题描述】:

目前,我正在从我们的后端汇集 AWS SQS,并在收到有效负载后执行业务逻辑。

我想将其移至 AWS Lambda 并开始通过 SQS/SNS 自动化业务逻辑。

由于我无法订阅 AWS SQS 事件,使用 Lambda (node.js) 实现 SQS 池的最佳实践是什么?

【问题讨论】:

标签: amazon-web-services aws-lambda amazon-sqs


【解决方案1】:

SQS 不能很好地与 Lambda 配合使用,因为您无法从 SQS 队列消息中自动触发 Lambda 函数。

我宁愿删除 SQS/SNS 逻辑并选择基于 DynamoDB Streams 的解决方案,该解决方案将涵盖本机的排队、归档和 Lambda 触发任务:您的生产者将消息放入 DynamoDB 表中,而您的 Lambda 会针对任何新条目触发使用 Streams(AWS native mechanism

当然,也可以考虑使用基于 Kinesis 的解决方案。

【讨论】:

    【解决方案2】:

    使用 lambda 的内置 SQS 事件源甚至可以简化整个轮询过程。

    Lambda 会自动横向扩展消费消息 在我的队列中。 Lambda 将尝试尽快消耗队列 通过在 每个服务。随着队列流量的波动,Lambda 服务将 根据轮询的数量向上和向下扩展轮询操作 机上消息。

    AWS Blog

    【讨论】:

      【解决方案3】:

      由于我无法订阅 AWS SQS 事件,

      为什么?

      Lambda 可以在 SQS 消息上触发。 Lambda 在内部为您处理扩展、批处理和重试。检查this AWS documentation on how to use Lambda with SQS

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-14
        • 2019-07-01
        • 2020-06-14
        • 2020-05-17
        • 2023-02-02
        • 2023-02-13
        • 2019-05-14
        • 2020-10-24
        相关资源
        最近更新 更多