|
|
1
26
听起来您的所有消费者都在订阅同一个队列。当多个使用者订阅同一队列时,RabbitMQ的默认行为是在所有订阅的使用者之间循环消息。请参阅中的“循环调度” RabbitMQ Tutorial #2: Work Queues . 扇出交换是为了确保绑定到它的每个队列都能获得消息的副本,而不是每个消费者。如果您希望每个使用者都获得消息的副本,通常您会让每个使用者创建自己的队列,然后绑定到交换机。我不知道你为什么试图避免以编程方式创建/绑定队列,但如果你提前知道订阅者的数量,并为每个订阅者创建一个队列,你可以得到同样的效果。 |
|
|
2
0
您应该手动或随机为每个使用者创建新队列 使用此命令的非持久队列。 var queueName=通道.QueueDeclare().queueName; 每个使用者使用相关的队列名称并接收所有消息 |