2013-10-16 48 views
3

RabbitMQ隊列是否具有類似AWS SQS的「消息可見性超時」?RabbitMQ可見性超時

從AWS SQS文檔:

「可見性超時時鐘開始滴答作響一旦亞馬遜SQS返回消息在此期間,該組件進程並刪除消息,但如果組件刪除失敗之前發生了什麼。消息?如果您的系統在可見性超時到期之前沒有爲該消息調用DeleteMessage,則消息再次對您系統中組件發出的ReceiveMessage調用變爲可見,並且它將再次被接收「

謝謝!

回答

1

我相信你正在尋找RabbitMQ手動確認功能。這個功能可以讓你從隊列中獲得消息,並且一旦你收到了消息,他們就會將其消除。如果在這個過程中發生了一些事情,那麼在一段時間之後,消息將再次在隊列中可用。此外,在您收到消息直到您確認消息之前,該消息不可用於其他消費者使用。

我認爲這與SQS的消息可見性超時相同。

+1

是的,但是你怎麼控制時間。我需要在12小時內隱藏一條消息。 –

+1

我對此也很感興趣。我想將可見度時間改爲大於默認值(我認爲這是3分鐘?) –

1

沒有任何消息超時;只有當工作人員連接中斷時,RabbitMQ纔會重新傳送消息。即使處理消息需要很長時間,也沒關係。沒有任何消息超時;只有當工作人員連接中斷時,RabbitMQ纔會重新傳送消息。即使處理消息需要非常很長的時間也沒關係。

+0

在我看來,它優於SQS。 – NeverEndingQueue