Rabbitmq一个交换和一个队列之间的多个绑定

8xiog9wr  于 4个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(93)

我有一个名为test-exchange的主题交换和一个名为test-queue的队列。


的数据
然后我在交换机test-exchange上发送了一条消息,路由关键字为test-key。返回队列test-queue,只收到1条消息。我预计会收到2条消息,因为我认为消息会在两条路径上重复。知道为什么会出现这种情况吗?

hrysbysz

hrysbysz1#

我担心这是故意的。它与RabbitMQ无关,而是与AMQP规范有关:
服务器不能将同一条消息多次传递给队列,即使队列有多个绑定与该消息匹配。
来源:https://www.rabbitmq.com/amqp-0-9-1-reference.html
如果希望复制消息,则需要创建两个单独的队列。
但是,如果您确实需要在单个队列中复制这些消息,则更复杂的拓扑可能会有所帮助。例如,您可以将一个交换机绑定到另一个交换机,然后将队列绑定到两个单独的交换机,如下所示:

使用此工具创建的图表:https://jmcle.github.io/rabbitmq-visualizer/#

相关问题