1. 程式人生 > >死信佇列和異常(回退)佇列區別

死信佇列和異常(回退)佇列區別

死信佇列

由於某種原因無法傳遞的訊息都放置在死信佇列上,主要觸發點(MCA 如果遠端訊息不能交付,MCA 傳送的訊息不能進行資料轉換,Trigger Monitor 出發訊息失敗)。

回退佇列:

在外部應用在消費佇列中訊息時,如果發生異常,會發送回滾命令,回滾後的訊息始終會放在佇列的頂部,不斷被處理和回滾,導致隊陷入死迴圈狀態,為了解決這個問題,MQ提供一種機制,選中佇列右鍵--》屬性--》儲存器,設定回退佇列和閥值,如設定佇列為q1,閥值為2,則在rollback兩次後將訊息轉入q1。

兩者都為訊息的可靠傳輸提供一種機制來處理異常。

兩者的區別:

1. 起作用的階段,死信佇列主要在傳送階段,回退佇列主要在訊息的消費階段生成。

2. 死信佇列由系統觸發, 回退佇列主要由應用傳送rollback觸發。

3. 死信佇列一個佇列管理器只有一個,而回退佇列可以為每個佇列設定一個。