2017-02-11 56 views
1

我正在使用RabbitMQ向用戶發送通知。用戶可以隨時閱讀他的隊列。RabbitMQ - 避免發佈者端的重複郵件

我面臨的問題是,在夜間隊列中充滿大量通知,而當用戶在早上返回時,他必須按順序處理這些消息。很多這些通知甚至是重複的。

我想這應該是有道理的,以改善這在出版社。也就是說,在添加新通知之前,我們會調查隊列中是否已有待處理通知。如果是這種情況,我們只會在新通知是新通知的情況下排隊,因此避免重複。

我們甚至可以通過組合通知來進一步擴展它:不是簡單地排隊新的通知,而是用一個新的持有新通知和新通知的新通知(用於內部通知數組中的示例)。

AMQP/RabbitMQ可能嗎?

回答

3

不,默認情況下,您不能替換現有的消息。

+0

感謝您的反饋意見。但是我們可以做些什麼來解決/改進我的方案?基本上,我試圖解決隊列「過載」的場景,因爲消費者一段時間沒有閱讀(例如,在夜晚,當消費者離線時發生)。我想避免消費者必須處理每條消息,而不知道這些消息是否與隊列中的消息相重複。 –

+0

你可以使用'TTL'擴展名並刪除超過X秒的消息https://www.rabbitmq.com/ttl.html 消息重複來自應用程序端!如果你想避免它們,你必須跟蹤你發送的消息。 – Gabriele