RabbitMQ - 多个消费者单个发布者

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

当使用 RabbitMQ 处理大量消息时,我需要为同一发布者和任务添加多个消费者。 RabbitMQ 和网络上的大多数教程都建议为该任务注册多个使用者(尽管大多数教程在新 shell 中为每个使用者打开一个新进程,而我的教程都将在同一个应用程序下进行)。鉴于每个消费者都需要它自己的通道(如果我错了,请纠正我),这意味着对于 X 个消费者,我们将打开 X 个通道。
我想到的另一种选择是让一个消费者将消息发送到一个线程池,该线程池包含实现消息中繁重工作的任务,这有点笨拙,但只需要一个开放通道。
从这两个选项中是否有更好的方法来实现这一点?还有第三种选择吗?

java rabbitmq message-queue
1个回答
0
投票

是的,每个消费者都需要自己的渠道。最好的选择是在自己的线程中运行每个使用者,并使用自己的连接和通道。 RabbitMQ 将以循环方式向消费者传递消息。请务必阅读有关预取 (QoS) 的内容。

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