AWS SQS dump/restore

AWS SQS dump/restore

是否可以转储 SQS 队列为 "urgent" 消息打开 space,然后恢复转储以保持 SQS 队列正常运行?

我不是在谈论 aws cli 命令,而是在谈论执行它的任何可能性。

当然,我可以打开一个新的 SQS 并更改应用程序以管理该新队列,但这会产生一些影响。

不,这不可能。当你想要 "high priority" 消息时,我看到 AWS 推荐的设计模式是这样的:

  • 创建 2 个队列,一个用于高优先级邮件,一个用于普通优先级邮件。
  • 让您的应用程序始终首先扫描高优先级队列以检查新消息。
  • 如果您没有收到来自高优先级队列的任何消息,请扫描普通优先级队列中的消息。

AWS SQS 目前不提供基于优先级的队列。但是您可以执行某些实现并为您的应用程序(消费者)构建一个优先级队列。以下是您可以使用的一些实现。

1) 如 @Markb 所述,您可以创建 两个 SQS,其中一个用于高优先级消息,另一个用于普通消息。确保应用程序首先轮询高优先级 SQS,然后再转到常规 SQS。

2) 如果使用 单个 SQS,在应用程序端有几个工作线程,它将收集来自 SQS 的所有消息,并处理它们以查看哪些有更高的优先级。先拿去处理。

3) 结合使用 SQS 和 SNS。将所有常规消息发送到 SQS。如果有高优先级消息,将它们发送到 SNS 以将它们定向到应用程序中的特定端点。在您的应用程序端(消费者端),有一个端点可以侦听来自 SNS 的高优先级消息,然后有一个进程可以轮询 SQS 以检索常规消息。