本文介紹雲訊息佇列 RabbitMQ 版服務端預設的訊息重試機制,協助您理解消費失敗後的訊息處理邏輯,並選擇合適的訊息處理策略。
重試機制
雲訊息佇列 RabbitMQ 版服務端有預設的訊息重試機制,不支援您在Consumer用戶端重新設定訊息重試機制和關閉訊息重試機制。雲訊息佇列 RabbitMQ 版服務端預設的訊息重試機制如下:
如果您沒有開啟Consumer用戶端消費訊息,則不會觸發訊息重試。
如果您開啟了Consumer用戶端消費訊息,當消費失敗時,即Consumer用戶端在稍候再試時間內沒有應答訊息,則觸發訊息重試:
稍候再試時間:
Serverless版執行個體:5分鐘
專業版執行個體:1分鐘
企業版執行個體:5分鐘
鉑金版執行個體:30分鐘
重試期間,任何一次消費成功,即Consumer用戶端應答訊息,則立即停止訊息重試。
重試最多16次。超過16次還未成功,則停止重試。您可以選擇:
丟棄訊息:如果您沒有為重試失敗的訊息所在的Queue配置死信Exchange,則訊息重試失敗後被丟棄。
將訊息發送至死信Exchange:如果您為重試失敗的訊息所在的Queue配置了死信Exchange,則訊息重試失敗後被發送到死信Exchange,並根據RoutingKey路由至目標Queue。目標Queue中的訊息支援查詢和匯出。如何配置死信Exchange,請參見死信Exchange。