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



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

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


注意:RabbitMQ团队监控rabbitmq-users邮件列表,有时只回答StackOverflow上的问题

最新更新