【问题标题】:Message -> sqs vs Message -> sns -> sqs消息 -> sqs 与消息 -> sns -> sqs
【发布时间】:2021-10-04 15:25:36
【问题描述】:

我有一个任务生成器来生成任务消息到 SQS 队列和一堆工人来轮询 SQS 队列来处理任务。在这种情况下,让任务生成器先将消息发布到 SNS 主题,然后 SQS 队列订阅 SNS 主题有什么好处吗?我假设直接发布到 SQS 队列就足够了。

【问题讨论】:

    标签: amazon-web-services amazon-sqs amazon-sns


    【解决方案1】:

    假设您不需要将消息散播给不同类型的工作人员,并且您的工作人员正在做同样的工作,那么您不需要。

    每个工作人员可以接收和处理一条消息。

    需要注意的一项是消息在 SQS 上再次可见之前的超时。即未正确配置超时可能会导致另一个工作人员处理相同的消息。

    https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html

    当消费者接收并处理来自队列的消息时, 消息保留在队列中。 Amazon SQS 不会自动删除 消息。因为 Amazon SQS 是一个分布式系统,所以没有 保证消费者实际收到消息(对于 例如,由于连接问题,或由于 消费者应用程序)。因此,消费者必须从 接收并处理后的队列。可见性超时

    收到消息后,它立即保留在队列中。到 防止其他消费者再次处理消息,Amazon SQS 设置可见性超时,在此期间 Amazon SQS 阻止其他消费者接收和处理消息。 消息的默认可见性超时为 30 秒。这 最小值为 0 秒。最长为 12 小时。有关信息 使用控制台为队列配置可见性超时

    【讨论】:

      猜你喜欢
      • 2012-06-09
      • 1970-01-01
      • 2017-08-22
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      相关资源
      最近更新 更多