【发布时间】:2020-03-17 06:35:37
【问题描述】:
我有一个关于 RabbitMQ 队列的问题。我想在一个队列上发送两种类型的消息。
我知道,我可以创建两个不同的队列,并使用路由键将不同的消息发送到不同的队列。
但我想在一个队列上有两个消费者,并以某种方式将消费者与消息类型绑定。当客户端和核心是发布者和消费者时,它是通过兔子队列驱动的事件。
有可能吗,或者我应该使用不同的队列吗?
【问题讨论】:
-
如果一个队列有两个消费者,则只有一个消费者收到消息。如果您需要将消息传递给两个消费者,则需要为每个消费者提供单独的队列。
-
我是这么想的,但还是决定问问。想相信,这是有可能的。谢谢。
-
这是一个糟糕的主意,但如果你真的不得不使用一个队列,你可以在消费者中进行一些键/检查,以 NACK 消息以便将其放回队列中。同样,除非绝对必要,否则这不是一个好的选择。
-
聪明的想法,但我并不真正需要一个队列。只是认为它可能比为每个消费者创建队列更有效。感谢您的回答,如何解决我的问题是个好主意,但是效率会降低,所以我决定创建许多队列。
标签: java rabbitmq queue consumer