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

时间:2018-07-22 15:09:53

标签: java rabbitmq message-queue

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

1 个答案:

答案 0 :(得分:0)

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


注意: RabbitMQ团队监视the rabbitmq-users mailing list,并且有时仅在StackOverflow上回答问题。