首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个SQS轮询器能够处理多个SQS队列并对其进行排序吗?

一个SQS轮询器能够处理多个SQS队列并对其进行排序吗?
EN

Stack Overflow用户
提问于 2020-01-29 23:49:32
回答 1查看 1.3K关注 0票数 0

我有一个用例,其中我有两个SQS队列,每个队列都收到消息。但条件是,如果我在第一个队列中获得消息,我将停止从第二个队列读取消息,并优先处理第一个队列消息。我可以只用一个SQS计票器来处理这个问题吗?

问题陈述:我经常在第一个队列中得到消息,但它们是重要的消息。但我不断地在第二个队列中获取消息。因此,如果轮询器正在处理第二个队列的消息,并且突然在第一个队列中出现一个新消息,那么在处理第二个队列的消息之后,它应该跳到第一个队列,并从那里开始接收消息,直到第一个队列为空。

有解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-01-30 02:33:20

这是处理优先级消息的好方法。

如果您的只有一个用户(您称它为'poller'),那么它应该:

从队列为空的优先级queue

  • If检索和处理消息,然后从普通queue

检索和处理消息。

您需要将此行为编码到您的消费者中。没有内置的功能可以从多个队列中轮询。

如果您是运行多个使用者,那么您可能希望让每个使用者执行上面的操作,或者您可以将其中的一部分分配给来自特定队列的进程。例如:

  • 一些消费者只能从优先级队列轮询,使用长轮询来减少调用的数量,但在优先级队列
  • 中出现消息时立即响应其他消费者只能从普通队列轮询,以确保这些消息得到关注(

H 125您可以根据典型的数据卷H 228>F 229调整消费者的相对数量E 227>)。

或者,您可以决定使用使用AWS函数来处理消息。在这种情况下,队列将被并行处理,但不给予一个队列相对于另一个队列的优先级。在这种情况下分配优先级的唯一方法是,为每个队列使用的Lambda函数分配不同的并发值。这将使优先级队列在达到容量限制时具有更多的并发性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59977251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档