我正在尝试实施以下内容,
因此Q1的优先级为1的消息 Q2具有优先级为2的消息,依此类推..
有没有办法让Message Broker进程Q1比其他进程更快。
使用优先级消息时是否有指向最佳做法的链接?
我确实在8月28日在Qpid nabble论坛上发布了这条消息 - 但是“这篇文章尚未被邮件列表接受”。
感谢您的时间。
答案 0 :(得分:1)
在qpid中,您可以将队列定义为“优先级队列”。
session.createQueue(queueName;{create:always, node:{type:queue,
x-declare:{arguments:{'x-qpid-priorities':3}}}})
在优先级队列中,优先级较高的邮件会跳过优先级较低的邮件,并且会提前获取。您无需为每个优先级定义单独的队列。
x-qpid-priorities
参数指定了支持多少个不同的优先级
队列中。
请注意,基于优先级的跳过仅适用于消耗队列中的消息。浏览不尊重优先级,您将按照排队顺序查看消息。
为每个优先级实现单独的队列并不是很有用,但如果您坚持这样做,则必须自己管理基于优先级的消耗。您可以实现使用者检查高优先级队列中的消息,然后仅在第一个队列为空时才检查较低优先级队列。