1
5
通常,消息队列系统用于确保在不同系统之间传递消息。 通常,有一种一次性的保证,而且通常还有一种进一步的保证,即消息将按顺序发送。 总的来说,这会通知系统的设计您正在构建并连接在一起。 分离系统之间的优先级概念通常没有那么多意义。 也就是说,一个常见的解决方法是拥有两个队列,一个高优先级和一个后台优先级。然而,这一固有的问题就被澄清了,因为当然,当接收系统 高优先级 请求进入,所以它们通常是在该粒度级别上按顺序完成的。 |
2
7
顺便说一句 ActiveMQ 现在支持 priority messaging 在5.4.x中,通过jmspriority头文件。 通常,有更好的技术来实现优先级消耗,例如 having a dedicated consumer pool for high priority messages . 然后,不管低优先级消息有多大的噪声,高优先级消息总是会通过。 考虑到消息传递的异步性,它很容易填充缓冲区、网络管道和 prefetch queues 如果使用JMSPriority头等,则使用低优先级消息。 |
3
1
在我看来,这个想法可能更类似于“处理优先级”,而不是优先级队列中的优先级值。当然,这与JMS规范中关于它的一两句话是一致的,显然也与AMQP规范一致。 |
4
1
必须小心的是,太多的优先级没有被使用到使用程序比浏览每条消息更麻烦的程度。 |
5
0
消息传递系统是为按时间顺序排列而设计和优化的。文件系统被优化用于追加文件,而不是在开始或中间插入数据。类队列的数据结构通常针对在末尾附加和从头部删除进行了优化。对于文件系统,这意味着附加到文件(添加)和附加到事务日志(删除),以及在使用消息文件后删除消息文件(删除)。 将优先级引入处理队列可以有效地将队列转换为具有时间和优先级排序的数据结构。基本上,当涉及到使用文件存储时,它是非常次优的,因为您必须创建某种索引策略。 |
Danish · 确认RabbitMQ中消费者的剩余消息 6 年前 |
iam.Carrot · RabbitMQ队列Pika的多处理 6 年前 |
lexma · RabbitMQ发布到Exchange确认 6 年前 |
CmdrSharp · 发布前请确保存在AMQP exchange绑定 6 年前 |
Ermintar · 驼峰连接到具有额外参数的RabbitMQ队列 6 年前 |