【发布时间】:2016-01-18 21:35:37
【问题描述】:
我正在研究将我们现有的消息队列 (Mosquitto MQTT) 迁移到云 (Amazon SQS) 的可行性。
我们现有的服务使用子队列的概念,这样用户就不会收到不适合他们的消息。例如:
/MyQueueName/user1/
/MyQueueName/user2/
/MyQueueName/user3/
等等
在用户计算机上运行的应用程序订阅与他们自己的用户 ID 相关的子队列。然后他们只会收到与他们相关的消息。
SQS 似乎没有创建子队列的能力,也没有过滤消息属性的灵活性。我可以允许将所有消息发送到所有计算机,然后仅在内容相关时才采取行动,但这似乎很浪费,尤其是考虑到我们目前在大约 20,000 多个子队列中进行讨论。
如何在 SQS 上最好地实现这一点? 我可以在 QueuenameUsername 上以编程方式创建队列,当有消息要从源传递或用户订阅时,然后在用户取消订阅时删除队列。然而,这似乎不是最好的做事方式。创建数千个单独的队列,并且需要一些代码来管理队列的创建,更具体地说,以正确的时间间隔删除队列。
任何见解都值得赞赏。
谢谢, 菲尔
【问题讨论】:
标签: amazon-web-services message-queue amazon-sqs