RabbitMQ和循环主题交换

RabbitMQ和循环主题交换,rabbitmq,Rabbitmq,我正在寻求一些关于如何最好地配置rabbitMQ交换的建议 我尝试在循环方法中使用主题交换。每个使用者都有自己的(唯一的)命名队列连接到主题交换。我希望exchange能够针对“相同”主题将消息循环发送到每个消费者队列,例如*.log 我尝试了多种组合,似乎只能同时向消费者队列发送消息,这实际上意味着我要处理消息两次,每个消费者一次 为了清楚起见,我还使用了扇出交换,用于“控制”消费者(启动、停止等)。这在任何结果中都应该保持不变 关于如何最好地实现所述结果的任何指导都将是非常好的 每个使用者都

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

我尝试在循环方法中使用主题交换。每个使用者都有自己的(唯一的)命名队列连接到主题交换。我希望exchange能够针对“相同”主题将消息循环发送到每个消费者队列,例如
*.log

我尝试了多种组合,似乎只能同时向消费者队列发送消息,这实际上意味着我要处理消息两次,每个消费者一次

为了清楚起见,我还使用了扇出交换,用于“控制”消费者(启动、停止等)。这在任何结果中都应该保持不变

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

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

诀窍是让您希望在其中进行循环的每个工作者/消费者设置一个命名队列,并使用相同的队列,而不是创建自己的队列


因此,您可以为所有“日志”工作者创建一个名为“日志”的命名队列。您将为所有“foo”工作者创建一个不同的命名队列,例如“foo”。请求将以循环方式传递给查看同一队列的所有消费者。

为什么要循环发送消息?如果您想要分发工作,那么将其全部泵入一个队列,并让多个“日志文件”使用者从该队列中读取…寻找相同的结果。您找到了哪种解决方案?我使用e2e(exchange到exchange)绑定解决了这个问题。这在更大范围内是有问题的。队列驻留在单个节点上(ha策略除外),不能扩展到单个节点之外。拥有多个队列可以提供水平可伸缩性,这在非平凡的消息速率下非常重要。