首先,我引用RabbitMQ docs中的以下文字:
当邮件重新排队时,它将被置于其原始位置 如果可能的话,在队列中。 如果不是(由于同时交付和 当多个消费者共享时,来自其他消费者的确认 队列),消息将被重新排队到更接近队列的位置 头
现在假设在同一个队列中有两条消息(A和B),两者都是 unacked :官方文档说“[...]离队列头更近”给出任何保证订购?
在任何情况下,消息A会在B之前排队吗?对我来说答案是没有,但我正在寻找建议。
答案 0 :(得分:2)
简短的回答是
然后在重新排队后,将总是放在队列中的B之前。
请参阅my answer here for explanation as to why these assumptions are necessary。