如何防止ActiveMQ优先队列上的低优先级消息饿死?
|
我正在一个需要实现优先队列的系统上工作。我们的消息具有不同的优先级,我们需要根据优先级处理消息。目前,出于多种原因,我们正在寻求将ActiveMQ用作我们的排队技术,其中之一就是支持优先级队列。
在ActiveMQ中使用优先级队列,解决饥饿的最佳方法是什么?具体来说,即使较高优先级的消息继续充斥队列,我们也需要确保即使是低优先级的消息也会最终得到处理。 ActiveMQ是否有内置的东西?还是我们需要构建我们自己的东西来随着消息的老化而增加优先级?
没有找到相关结果
已邀请:
1 个回复
佬棠
如评论中所述,但是几个小时前来自低prio消息的洪水将暂时使新的高prio消息饿死,而正确地将这些消息间隔开将需要一种更复杂的方法 另一种方法是使用多个队列,每个队列一个,然后从低优先级队列中取出几个,从高优先级队列中取出。 后一种方法仅对低优先级确实可行,而我提供的第一种方法可以处理任意数量的优先级