我是Rabbit MQ的新手。阅读几个Rabbit MQ tutorial
在上述链接中,我的问题是ReceiveLogs
channel.basicConsume(queueName, true, consumer)
由于单个队列可以保存使用不同routingKey路由的消息。假设消费者想要使用具有特定路由密钥的消息。 可能吗 ?在这种情况下,我是否只需要在特定队列上发布带有单个路由密钥的meesage?
下看不到任何方法答案 0 :(得分:1)
在RabbitMQ生产者发布到an exchange
而不是queue
- 这将生产者与消费者分离。
是的,如上所述in the official article,您可以在同一个队列中使用不同的routing key
路由消息,只需创建more than one binding for that queue
即可。
现在直接回答您的问题:如果您希望每个队列有一个路由密钥,则需要执行以下操作:
您希望消费者收听的每个routing key
:
channel.queueBind(queueName, EXCHANGE_NAME, <your_routing_key>);
一次。