【发布时间】:2014-03-05 11:49:30
【问题描述】:
在 RabbitMQ 中,可以创建一个交换器,然后将其绑定到多个队列,每个队列都有一个路由键。这支持这样的消息传递架构:
message_x
/ | \
foo-msg_q bar-msg_q msg-logger_q
客户端将消息发布到message_x 交换器,该交换器将仅 带有路由键“foo”的消息路由到foo-msg_q 队列,仅 带有路由键的消息"bar" 到 bar-msg_q 队列,所有 消息到 msg-logger_q 队列。
我无法弄清楚如何在 AWS 中执行此操作。我的第一个想法是在各个队列上设置权限以根据主题接受消息,但权限条件的唯一可用字段是:
- aws:CurrentTime
- aws:EpochTime
- aws:MultiFactorAuthAge
- aws:principaltype
- aws:SecureTransport
- aws:SourceArn
- aws:SourceIp
- aws:UserAgent
- aws:userid
- aws:用户名
这些似乎都不会受到我发布到message_x 主题的任何消息的影响。
当使用 Amazon Simple Notification Service 分散到多个 Simple Queue Service 队列时,是否可以这样做,每个队列接收发布到主题的消息子集?
【问题讨论】:
-
@OlivierAlbertini 这不是很有帮助。如果您在上面注意到,我提到这是您可以在 RabbitMQ 中执行的操作,所以我知道还有其他平台具有此功能。我专门询问了 SNS / SQS。
-
你有没有找到任何优雅的方法来解决你的问题?
-
如上所述的 SNS 过滤现在可用...请参阅下面@puji 的回答
-
这个博客很有用:medium.com/better-programming/…
标签: amazon-web-services amazon-sqs amazon-sns