RabbitMQ和循环主题交流

Mar*_*ahl 12 rabbitmq

我正在寻求一些关于如何最好地配置我的rabbitMQ交换的建议.

我正试图以循环方法使用主题交换.每个使用者都有自己的(唯一的)命名队列附加到主题交换.我希望交换机将循环消息传递给每个消费者队列以获取"相同"主题 - *.log例如,让我们说.

我尝试了多种组合,似乎只能同时向消费者队列传递消息,这实际上意味着我正在处理消息两次,每次消费者一次.

为了清楚起见,我还有一个扇出交换,我用来"控制"消费者(开始,停止等).这应该保留在任何结果中.

关于如何最好地实现所述结果的任何指导都将是很好的.

Car*_*don 13

每个使用者都有自己的(唯一的)命名队列附加到主题交换

诀窍是让每个想要在其间进行循环的工作者/消费者设置一个命名队列,并且所有人都使用相同的队列而不是创建自己的队列.

因此,您可以为所有"日志"工作程序创建名为"log"的命名队列.你会为所有"foo"工人创建一个不同的命名队列,说"foo".请求将循环传递给查看同一队列的所有消费者.

  • 这在较大规模上是有问题的.队列驻留在单个节点上(ha策略除外),并且无法扩展到单个节点之外.拥有多个队列可以提供水平可伸缩性,这对于非平凡的消息速率非常重要. (6认同)