付費限定

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

更新於 發佈於 閱讀時間約 2 分鐘

策略一: Immediate Re-queueing

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

策略二: Dead Letter Exchange

以行動支持創作者!付費即可解鎖
本篇內容共 822 字、0 則留言,僅發佈於💎 阿Han的Premium軟體技術棧你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
119會員
268內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
在進入Message Queue之前我們先來了解一下同步/非同步任務的概念。 菜單稱為訊息(Message), 為工作內容描述。 送出菜單的客人稱為生產者(Producer), 負責建立訊息。 櫃台就相當於Queue, 負責接單並依序處理。 廚師就是消費者的概念, 負責消化Queue裡面的訊息。 採
軟體世界隨著現實應用越來越複雜,需要處理的資料量也就隨之倍數增長,假設我們每一個動作都要等待處理完畢後再回應,那麼勢必對於廣大用戶的使用者體驗大打折扣,因此這個過程如果有一個中間人幫我們處理掉先來後到的流程,那麼是不是我只要將要進行的動作交給中間人即可,而背後處理的服務商則透過中間人依序處理,處理
在進入Message Queue之前我們先來了解一下同步/非同步任務的概念。 菜單稱為訊息(Message), 為工作內容描述。 送出菜單的客人稱為生產者(Producer), 負責建立訊息。 櫃台就相當於Queue, 負責接單並依序處理。 廚師就是消費者的概念, 負責消化Queue裡面的訊息。 採
軟體世界隨著現實應用越來越複雜,需要處理的資料量也就隨之倍數增長,假設我們每一個動作都要等待處理完畢後再回應,那麼勢必對於廣大用戶的使用者體驗大打折扣,因此這個過程如果有一個中間人幫我們處理掉先來後到的流程,那麼是不是我只要將要進行的動作交給中間人即可,而背後處理的服務商則透過中間人依序處理,處理
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
RabbitMQ 和 Kafka 是兩種流行的消息處理工具,各自擅長不同的應用場景。RabbitMQ 以低延遲和靈活的消息路由著稱,適合即時通信和微服務;Kafka 則專注於高吞吐量和數據持久化,適用於大規模數據流和實時分析。本文比較了它們的性能、擴展性和安全性,幫助你選擇最符合需求的解決方案。
Thumbnail
本篇文章探討了在B2B業務中,遇到設備損壞的售後服務問題時,需要先處理情緒,再來處理問題。作者提到正確的處理流程不一定是最佳的處理流程,並分享了適合不同情況下的不同處理方式。最後呼籲持續閱讀B2B業務相關文章以提升業務觀念與工作能力。
Thumbnail
網頁回應碼是指當網頁伺服器處理完一個請求後所回傳的狀態碼。這篇文章介紹了網頁回應碼的分類,包括1XX、2XX、3XX、4XX和5XX狀態碼,並解釋了各種狀態碼的意義和常見原因。
Thumbnail
近期舉辦了一場改建說明會,但是參加人數卻非常少,讓我感到失望。會議過程中,地主的態度和缺乏誠信讓我深感不滿,甚至影響了整個會議的進行。這次經驗讓我重新思考與地主之間的合作關係,以及如何在未來的會議中取得更好的結果。我相信尊重與誠信是合作的基礎,但若不被珍惜,那麼放棄或許也是一種選擇。
Thumbnail
對不起啦我真的沒有要故意浪費大家的電子信通知的空間, 但是點進沙龍後,不管是討論區還是房間的貼文都會直接導到錯誤頁面, 所以我只好改用文章的方式了。 首先我想講一下, 這個月也不會有村長不聊XDDDDD 明天30號,後天31號,各位,你知道這代表什麼嗎? 沒有錯,五月要結束了(躺 20
Thumbnail
「先不用喔謝謝。」 「直接已讀。」 銷售工作中,我最常遇到對方的拒絕,每次被拒絕時,都想著咬著牙關,繼續想辦法說服對方,努力就能就能感動對方,但往往都沒有後續。 苦惱許久,看到這堂進階拒絕處理的課程,這就是我要的! 立馬手刀報名~
Thumbnail
標示全部為已讀失效 最近發現留言系統中,"標示全部為已讀"的速度明顯變慢,甚至有時會失效。許多使用者都報告遇到了相同的問題。這實際上是程式設計中一個常見的漏洞。系統沒有充分考慮到整體容量問題與效能,才導致了這樣的情況。(實際原因待查,此處僅為一般解說),當系統開始顯示緩慢或出現其他問題時,通常
Thumbnail
受不了等待,延遲的傷痕。 斷訊了,可惜不會再連結。 被遺忘的。 反覆查閱錯誤的地點,遺漏了每一天。 你捎來的簡訊,如此重要又美麗, 卻悄悄的,被計入錯誤。 彈跳的訊息無聲,直接略過,反正從來都只有雜訊。 知曉過期時,思緒雖來痛,但也無奈。 你說可以重來,但你不知道的,那一切好像變得不
Thumbnail
在Python中,queue是一個非常有用的模块。 它提供了多種佇列(queue)實現,用於在多線程環境中安全地交換信息或者數據。 佇列(queue)是一種先進先出(FIFO)的數據結構,允許在佇列的一端插入元素,另一端取出元素。(FIFO 是First In, First Out 的縮寫)
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
RabbitMQ 和 Kafka 是兩種流行的消息處理工具,各自擅長不同的應用場景。RabbitMQ 以低延遲和靈活的消息路由著稱,適合即時通信和微服務;Kafka 則專注於高吞吐量和數據持久化,適用於大規模數據流和實時分析。本文比較了它們的性能、擴展性和安全性,幫助你選擇最符合需求的解決方案。
Thumbnail
本篇文章探討了在B2B業務中,遇到設備損壞的售後服務問題時,需要先處理情緒,再來處理問題。作者提到正確的處理流程不一定是最佳的處理流程,並分享了適合不同情況下的不同處理方式。最後呼籲持續閱讀B2B業務相關文章以提升業務觀念與工作能力。
Thumbnail
網頁回應碼是指當網頁伺服器處理完一個請求後所回傳的狀態碼。這篇文章介紹了網頁回應碼的分類,包括1XX、2XX、3XX、4XX和5XX狀態碼,並解釋了各種狀態碼的意義和常見原因。
Thumbnail
近期舉辦了一場改建說明會,但是參加人數卻非常少,讓我感到失望。會議過程中,地主的態度和缺乏誠信讓我深感不滿,甚至影響了整個會議的進行。這次經驗讓我重新思考與地主之間的合作關係,以及如何在未來的會議中取得更好的結果。我相信尊重與誠信是合作的基礎,但若不被珍惜,那麼放棄或許也是一種選擇。
Thumbnail
對不起啦我真的沒有要故意浪費大家的電子信通知的空間, 但是點進沙龍後,不管是討論區還是房間的貼文都會直接導到錯誤頁面, 所以我只好改用文章的方式了。 首先我想講一下, 這個月也不會有村長不聊XDDDDD 明天30號,後天31號,各位,你知道這代表什麼嗎? 沒有錯,五月要結束了(躺 20
Thumbnail
「先不用喔謝謝。」 「直接已讀。」 銷售工作中,我最常遇到對方的拒絕,每次被拒絕時,都想著咬著牙關,繼續想辦法說服對方,努力就能就能感動對方,但往往都沒有後續。 苦惱許久,看到這堂進階拒絕處理的課程,這就是我要的! 立馬手刀報名~
Thumbnail
標示全部為已讀失效 最近發現留言系統中,"標示全部為已讀"的速度明顯變慢,甚至有時會失效。許多使用者都報告遇到了相同的問題。這實際上是程式設計中一個常見的漏洞。系統沒有充分考慮到整體容量問題與效能,才導致了這樣的情況。(實際原因待查,此處僅為一般解說),當系統開始顯示緩慢或出現其他問題時,通常
Thumbnail
受不了等待,延遲的傷痕。 斷訊了,可惜不會再連結。 被遺忘的。 反覆查閱錯誤的地點,遺漏了每一天。 你捎來的簡訊,如此重要又美麗, 卻悄悄的,被計入錯誤。 彈跳的訊息無聲,直接略過,反正從來都只有雜訊。 知曉過期時,思緒雖來痛,但也無奈。 你說可以重來,但你不知道的,那一切好像變得不
Thumbnail
在Python中,queue是一個非常有用的模块。 它提供了多種佇列(queue)實現,用於在多線程環境中安全地交換信息或者數據。 佇列(queue)是一種先進先出(FIFO)的數據結構,允許在佇列的一端插入元素,另一端取出元素。(FIFO 是First In, First Out 的縮寫)