RabbitMQ 单交换和具有多个路由键的单队列

问题描述 投票:0回答:2

我正在尝试使用 BasicGet 仅检索与通道的 Exchange/Queue/RoutingKey 组合匹配的消息。

我们的路由键的一个示例是

Development:STACK_1_WEBSERVER_V2:1:2.9.0.0

我遇到的麻烦是路由密钥被完全忽略,无论指定的路由密钥是什么,所有消息都可以通过 BasicGet 获得。

我正在使用直接交换。我认为直接就足够了,我不需要通配您通过主题交换获得的路由密钥的能力。

直接交换和路由密钥解决方案是否应该与 BasicGet 一起使用?

谢谢

rabbitmq
2个回答
5
投票

直接交换和路由密钥就足够了,尽管您的 getter 是从包含具有多个路由密钥的消息的队列中拉取的。您需要为每个想要拥有自己的消息组的 getter 设置单独的队列。

这不是 AMQP 中

basic.get
basic.consume
之间的区别。

当您从队列中提取消息时,交换类型和路由键并不重要,消息已经被路由到队列。


0
投票

理想情况下,我认为路由键能够将消息路由到相同的队列和相同的交换器,但根据路由键有不同的消费者。但从深度搜索看来,它似乎不起作用...... 所有绑定到队列的消费者只会以循环方式消费消息。

© www.soinside.com 2019 - 2024. All rights reserved.