2013-04-25 143 views
9

我是RabbitMQ的新手,我對管理插件中的消息選項有疑問。它說:「單擊」獲取消息「將消耗隊列中的消息,如果設置了消息隊列,消息將被重新添加到隊列中,但排序不會被保留,並且'redelivered'將被設置。RabbitMQ隊列窺探

This article

在兔(V2.6.1)之後的下一個版本的消息重新排隊時,訂單不會 破壞。消息將被重新排列到隊列的前面 ,這意味着您可以在隊列的頭部「窺視」。您可以使用管理界面或使用AMQP 客戶端來執行此操作。

那麼,爲什麼管理插件說,排序不會被保留?我只是想明白哪一個是正確的?

感謝


我接到的RabbitMQ團隊的答覆。這是他們在說什麼......

在25/04/13 01:05,Prazzy寫道:

那麼,爲什麼管理插件說,排序將不會被保留?我是 只是想明白哪一個是正確的?

管理插件似乎沒有得到更新。我會解決這個問題。 感謝您指出。

乾杯,西蒙

- 西蒙MacMullen RabbitMQ的,VMware的

+0

解決這個問題的最好方法可能是自己測試一下。這不應該太難完成,只需在郵件正文中增加一個數字即可。我也很想知道這一點。 – theMayer 2013-04-27 15:17:04

+0

我測試了超過100條消息,它的工作原理! – Prazzy 2013-04-29 16:39:34

回答

0

管理插件是錯誤的。

正如RabbitMQ團隊的迴應所說,您的問題的答案是管理插件是錯誤的。在2.6.1中改變了行爲以重新排隊消息,使其儘可能接近原始順序 - 在這種情況下,幾乎肯定會在隊列的頭部。

小心副作用。

由於this answer指出,然而,「偷窺」是一個相當溫和的詞語,實際上發生了什麼:一條消息(不過是短暫地)從隊列中刪除,然後放回去。在這段短暫的時間內,可能會有另一條消息被傳送給消費者,在這種情況下,您的「窺視」消息仍然會回到頭部,但消息可能會被無序處理。