【问题标题】:What is the limit for AWS SQS to pull messages from queue?AWS SQS 从队列中提取消息的限制是什么?
【发布时间】:2021-12-13 06:50:24
【问题描述】:

我试图找出我可以使用 lambda 从 sqs 中提取的消息的限制。 我从 AWS 看到了一些文档,我们一次只能以批处理的形式接收 10 条消息。 但我的要求是使用 lambda 从 sqs 队列中一次提取 10-12k 条消息并循环遍历它。 不确定这个要求是否可行想知道它是否可能。

【问题讨论】:

  • 你不是用SQS触发器来触发lambda函数吗?
  • 是的,这就是计划
  • 那你就不用担心从SQS拉消息了。每当队列中有消息可用并且事件中将包含消息时,都会触发 lambda... Lambda 函数具有高度可扩展性,它们肯定会处理进入队列的所有消息。
  • 是的,计划是触发lambda函数并批量读取消息。

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


【解决方案1】:

这是来自亚马逊的文档,与您的问题similar to your question类似

例如,Lambda 函数从 SQS 队列接收消息并写入 DynamoDB 表。它具有 10 个保留并发,批量大小为 10 个项目。 SQS 队列快速接收 1,000 条消息。 Lambda 函数最多可扩展到 10 个并发实例,每个实例处理来自队列的 10 条消息。

这意味着当您需要处理大量消息时,Lambda 可以帮助您自动扩展。

在本文档中,亚马逊表示并发执行 can be increased up to tens of thousands我认为它回答了您的问题,但请注意 the burst concurrency quotas is different from the regions

这个是real case example with Ebay API

对于我的实际项目,我们的做法是尝试将逻辑拆分为更小的逻辑,这意味着我们拆分为一些较小的 Lambda 和 SQS,以便我们可以管理逻辑、调试并帮助减少流量。

您还应该监控的一件事是价格!不要忘记监控并考虑您的解决方案。

【讨论】:

    猜你喜欢
    • 2019-11-07
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多