2023-04-29|閱讀時間 ‧ 約 1 分鐘

【💎 Message Queue - RabbitMQ】失敗重試策略(死信隊列)

策略一: Immediate Re-queueing

這種方式主要是Consumer處理訊息失敗時, 再把訊息送回去重新排隊, 在RabbitMQ的架構下非常簡單, 只要在Error Handling的地方發送nack訊號回去即可。
這種方式雖然簡單, 但是也存在著一些風險:
  • 由於Queue為了確保順序性, 因此該訊息會被重新排到最前面, 如此一來該訊息如果真的是一個錯誤的資料, 那麼會造成阻塞, 讓後面的訊息無法被正確的處理。
  • 假設失敗原因是系統繁忙的話, 一直不斷的進行重試反而會再度拖累系統。

策略二: Dead Letter Exchange

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.