我有一个名为“ videoexchange”的通知交换
我有3个队列q1,q2和q3
所有3个队列q1,q2和q3都使用相同的路由键“ * .encoding”订阅了相同的交换机“ videoexchange”
[当使用路由键“ * .encoding”将有效负载发送到“ videoexchange”交换时,所有三个队列将接收该有效负载还是仅一个队列将接收该有效负载?
默认情况下,RabbitMQ将按顺序将每个消息发送给下一个使用者。平均而言,每个消费者都会收到相同数量的消息。这种分发消息的方式称为round-robin
或者,您也可以使用“使用者优先级”,它可以确保高优先级使用者在活动时接收消息,而只有当高优先级使用者阻塞时,消息才发送给较低优先级使用者。
通常,连接到队列的活动使用者会以循环方式从队列中接收消息。当使用使用者优先级时,如果存在多个具有相同高优先级的活动使用者,则会循环传递消息。如果不使用优先级,则每个队列的默认优先级权重为1