我有一個簡單的服務,訂閱來自RabbitMQ的消息並將它們寫入數據存儲。有時候這個數據存儲在短時間內不可用(有時是秒,但有時是幾分鐘)。如果發生這種情況,我們對失敗的消息執行basic.reject
,requeue
設置爲true
。雖然這起作用,但消息似乎立即被重新發送。我希望RabbitMQ優雅地補償重新交付。例如,首先嚐試在2,3,5,8,13秒之後重新遞送「立即」。這是可能的,如果是這樣的話,如何?RabbitMQ重新傳遞被拒絕的消息?
2
A
回答
2
除了什麼路易斯F.發佈的評論,退房延遲的消息交換插件https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/
你可以建立一個死信交換使用延遲的消息交換類型,有這很容易實現而不必做一堆配置並使用這樣的TTL。
+0
感謝您的看起來,這比我使用的DLX + TTL攻擊更清潔。 –
相關問題
- 1. 如何重啓消費和消費被拒絕的消息
- 2. 我如何讓RabbitMQ重新傳遞未確認的消息?
- 3. 授權被拒絕的消息與FormsAuthentication
- 4. 拒絕STOMP消息未通過RabbitMQ重新發送給客戶端
- 5. 在Node.JS中的RabbitMQ消息傳遞?
- 6. RabbitMQ的可靠消息傳遞
- 7. 例外:被拒絕的傳遞
- 8. 消息:mkdir():權限被拒絕AWS ec2
- 9. 突然訪問被拒絕消息
- 10. MicrosoftGraph的列表消息API返回訪問被拒絕消息
- 11. 在Sharepoint 2007中訪問被拒絕的新域用戶消息
- 12. RabbitMQ重排消息
- 13. ActiveMQ的消息被重新傳遞(PooledConnectionFactory misconfig suspect)
- 14. 的RabbitMQ:失敗消息被重新處理以無限循環
- 15. 如何讓rabbitmq在隊列滿時拒絕消息?
- 16. Firebase消息傳遞錯誤:消息傳遞/權限被阻止
- 17. 消息重新傳遞IBM MQ
- 18. JMS消息重新傳遞到隊列
- 19. 使用RabbitMQ配置Spring數據流 - 連接被拒絕(連接被拒絕)
- 20. 訪問被拒絕休息
- 21. RabbitMQ的拒絕連接
- 22. Kafka傳遞重複消息
- 23. Nack並拒絕在RabbitMQ
- 24. +的NodeJS的WebSockets - 拒絕與消息
- 25. RabbitMQ重新發送消息到失敗的消費者只
- 26. 「消息」:「此請求的授權已被拒絕。」 OWIN中間件
- 27. SSH命令扔「權限被拒絕(公鑰)」消息的錯誤
- 28. 頁上的SharePoint訪問被拒絕消息
- 29. 在Magento中更改訪問被拒絕的消息
- 30. 春季兔子重試提供被拒絕的消息..它可以嗎?
您可以在http://globaldev.co.uk/2014/07/back-off-and-retry-with-rabbitmq/進行檢查。基本上這個想法是爲每條消息設置一個ttl! –
@LouisF。你在這裏刪除了你的帖子http://stackoverflow.com/q/35399063/4828463爲什麼? –