gpt4 book ai didi

amazon-web-services - 如何扇出 SQS

转载 作者:行者123 更新时间:2023-12-03 18:25:21 24 4
gpt4 key购买 nike

我有多个来源将原始数据推送到 S3。我已经在我的 S3 存储桶上配置了 SQS 事件通知。
问题是滞后和限制。
我预计在不久的将来会有更多的来源,因为我们在一次轮询中只能从 SQS 获得 10 条消息,我认为在不久的将来会有更多的来源将数据推送到 S3,那么 SQS 将充满了数千条消息,我将无法更快地处理它们。
我正在考虑通过将消息从我的主 SQS 队列传播到更多 SQS 队列来扇出 SQS,以便我的处理层可以轮询多个队列,例如:5 个队列并处理更多消息。
可能的方法应该是什么?

最佳答案

"... since we can get only 10 Messages in a single poll from SQS...I am thinking to fan-out sqs like spreading the message to more SQS queues from my master SQS queue, so that my processing layer can poll multiple queues eg : 5 queues and process more messages."



简答: 不要这样做。

原因如下:

是的,一次轮询最多可以检索 10 条消息。但是,您可以拥有 多个线程和多个主机都轮询单个队列 .让您的消费者并行运行是这里的关键,因为处理队列条目将是您的瓶颈——而不是从队列中检索条目。单个 SQS 队列可以处理大量轮询线程。

您提议的多队列扇出有许多缺点:
  • 编码和操作更复杂
  • 较慢 - 项目必须经历从主队列(或 SNS,如果您使用它)到消费队列的传输开销
  • 更昂贵 - 每条消息 SQS 收费。每条消息的 SNS 费用。
  • 您必须自己处理重复——对于单个队列,SQS 内置的可见性超时将主要阻止其他消费者处理相同的项目。对于多个队列,您必须想出自己的重复数据删除策略
  • 只需使用一个队列。以后你会感谢我的。
  • 关于amazon-web-services - 如何扇出 SQS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54419062/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com