我正在尝试使用BasicGet只检索与通道的Exchange/Queue/ChallengingKey组合匹配的消息。我们的路由键的一个例子是
Development:STACK_1_WEBSERVER_V2:1:2.9.0.0
字符串我遇到的麻烦是,路由键被完全忽略,所有消息,无论指定的路由键是什么,都可以通过BasicGet获得。我使用直接交换。我虽然直接是足够的,我不需要通配符的能力,你得到的路由键与主题交换。直接交换和路由密钥解决方案应该与BasicGet一起工作吗?谢谢
nkhmeac61#
直接交换和路由键就足够了,尽管你的getter是从一个队列中拉取的,这个队列中有多个路由键的消息。你需要为每个getter设置单独的队列,因为每个getter都需要自己的一组消息。这不是AMQP中basic.get和basic.consume之间的区别。当您从队列中提取消息时,交换类型和路由键并不重要,因为消息已经被路由到队列。
basic.get
basic.consume
tvokkenx2#
理想情况下,我认为路由键能够将消息路由到相同的队列和相同的交换机,但根据路由键有不同的消费者。但从深度搜索来看,似乎不是这样工作的.
2条答案
按热度按时间nkhmeac61#
直接交换和路由键就足够了,尽管你的getter是从一个队列中拉取的,这个队列中有多个路由键的消息。你需要为每个getter设置单独的队列,因为每个getter都需要自己的一组消息。
这不是AMQP中
basic.get
和basic.consume
之间的区别。当您从队列中提取消息时,交换类型和路由键并不重要,因为消息已经被路由到队列。
tvokkenx2#
理想情况下,我认为路由键能够将消息路由到相同的队列和相同的交换机,但根据路由键有不同的消费者。但从深度搜索来看,似乎不是这样工作的.