NMS.ActiveMQ 消费者优先级

背景

除了拥有可插拔的分发策略(例如轮询等)之外,我们现在还支持消费者优先级。

这使我们能够对消费者进行加权以优化网络跳跃。例如,您通常希望代理将消息发送到常规的 NMS 消费者,而不是发送到其他代理;如果存在可用的消费者,则无需进行不必要的代理到代理的跳跃。

示例

使用 目标选项 设置消费者的优先级,如下所示

var queue = session.GetQueue("TEST.QUEUE?consumer.priority=10");
var consumer = session.CreateConsumer(queue);

分配优先级号的范围为 0 到 127,其中 127 为最高优先级,0 为默认优先级。
它的工作原理是,代理只需根据消费者的优先级对任何队列消费者进行排序,并将消息首先发送到最高优先级的消费者。
一旦特定消费者将其预取缓冲区填满,代理将开始将消息分发到较低优先级的消费者。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛徽标和 Apache ActiveMQ 项目徽标是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。