すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:再試行ポリシーとデッドレターキュー

最終更新日:Jul 09, 2024

このトピックでは、メッセージ統合モジュールでサポートされている再試行ポリシーとデットレターキューについて説明します。

再試行ポリシー

再試行ポリシーは、送信に失敗したメッセージを再試行するために使用されるメソッドを指定します。 Message Integrationは、バックオフ再試行および指数関数的減衰再試行ポリシーをサポートします。

  • バックオフの再試行: 失敗したメッセージは最大3回再試行できます。 2つの連続する再試行の間隔は、10〜20秒の範囲のランダムな値である。 これはデフォルトの再試行ポリシーです。

  • 指数減衰の再試行: 失敗したメッセージは最大176回再試行できます。 2つの連続したリトライの間隔は、最大512秒まで指数関数的に増加します。 再試行に使用できる合計時間は1日です。 具体的な間隔は、1秒、2秒、4秒、8秒、16秒、32秒、64秒、128秒、256秒、512秒である。 値512秒は、167の再試行に使用されます。

フォールトトレランスポリシー

フォールトトレランスポリシーは、エラーを処理するために使用されるメソッドを指定します。 Message Integrationは、次のフォールトトレランスポリシーをサポートしています。

  • フォールトトレランス許可: フォールトトレランスを許可します。 エラーが発生した場合、メッセージ処理はブロックされません。 指定された最大リトライ回数に達した後にメッセージの送信に失敗した場合、メッセージはデットレターキューに配信されるか、破棄されます。

  • フォールトトレランス禁止: フォールトトレランスを許可しません。 メッセージでエラーが発生し、指定された最大リトライ回数に達した後にメッセージの送信が失敗した場合、メッセージ処理はブロックされます。 この場合、タスクのステータスは自動的に準備完了に変更されます。

説明

無効なリソース設定などのエラーにより再試行が実行できない場合、タスクのステータスは自動的にスタートアップ失敗に変更されます。

デッドレターのキュー

デッドレターキューはタスクで有効になります。 再試行ポリシーで指定された再試行の最大数に達した後にメッセージの処理または送信が失敗した場合、生データはデットレターキューに送信されます。 デフォルトでは、デットレターキュー機能は無効になっています。

説明

ApsaraMQ for RocketMQおよびMessage Service (MNS) 内のキューのみが無効キューとして使用できます。