rabbitmq官方文档翻译-7

消费者优先级

消费者优先级允许您确保高优先级消费者在活动时接收消息,当高优先级消费者阻塞时,消息仅发送给优先级较低的消费者。

通常,连接到队列的活动消费者以循环方式从其接收消息。当使用消费者优先级时,如果存在具有相同高优先级的多个活动消费者,则循环传递消息。

活跃消费者的定义

以上段落将消费者称为活跃或阻塞。在任何时候,任何给定的消费者都是一个或另一个。活跃的消费者是可以在不等待的情况下接收消息的消费者。如果消费者无法接收消息,则会被阻塞 - 因为在发布basic.qos之后,消费者的信道已达到最大未确认消息数,或者仅仅是因为网络拥塞。因此,对于每个队列,至少有三件事情中的一件是真的:
没有活跃的消费者
队列是空的
队列正忙于向消费者传递消息

请注意,消费者可以每秒多次在活动和阻塞之间切换。因此,我们不会通过管理插件或rabbitmqctl公开消费者是活动的还是阻塞的。

当使用消费者优先级时,您可以期望您的最高优先级消费者在被阻塞之前接收所有消息,此时优先级较低的消费者将开始接收一些消息。重要的是要了解RabbitMQ仍然会优先传递消息 - 如果有一个活跃的低优先级消费者准备就绪,它将不会等待高优先级阻塞的消费者被解除阻塞

使用消费者优先权

将basic.consume方法中的x-priority参数设置为整​​数值。未指定值的消费者具有优先级0.较大的数字表示较高的优先级,并且可以使用正数和负数。
在args中设置

你可能感兴趣的:(rabbitmq官方文档翻译-7)