このトピックでは、ApsaraMQ for RabbitMQ ブローカーで使用されるデフォルトの消費リトライポリシーについて説明します。 このトピックの情報を使用して、失敗したメッセージの処理方法と、ビジネス要件を満たすメッセージ処理ポリシーの選択方法を理解できます。
消費リトライプロセス
消費リトライメカニズムにより、一時的なエラーが発生した場合に、システムが失敗したメッセージを自動的に再配信または処理できます。 これにより、システムの信頼性とデータ整合性が向上します。
Ready: メッセージはキューに送信され、消費可能です。
Unack: メッセージは受信され、コンシューマーによって処理されています。
消費リトライポリシーの属性
消費リトライポリシーは、消費タイムアウト期間と最大配信試行回数という重要な属性で構成されます。
消費タイムアウト期間
消費タイムアウト期間は、コンシューマーがメッセージを受信して処理できる最大期間です。 消費タイムアウト期間中にコンシューマーがメッセージを消費できなかった場合、メッセージは Ready 状態になり、別のコンシューマーが取得して処理できます。 消費タイムアウト期間属性に適切な値を指定する必要がある理由は次のとおりです。
リクエストが長時間中断されないようにするため: 消費タイムアウト期間属性に不適切な値を指定すると、消費中にリクエストが長時間中断される可能性があります。 これにより、他のメッセージが蓄積され、システム全体のパフォーマンスに影響します。
メッセージ処理の信頼性を確保するため: コンシューマーが長時間メッセージを処理できない場合、ApsaraMQ for RabbitMQ はメッセージを別のコンシューマーに配信して、メッセージが確実にできるだけ早く処理されるようにします。
最大配信試行回数
最大配信試行回数とは、システムがコンシューマーにメッセージを配信できる最大回数です。 最大配信試行回数属性に適切な値を指定する必要がある理由は次のとおりです。
メッセージが無制限に再試行されないようにするため: 最大配信試行回数属性を構成して、メッセージが無制限に再試行され、システムリソースが浪費されるのを防ぐことができます。
フェールオーバーを可能にするため: 最大配信試行回数に達すると、システムは失敗したメッセージをデッドレターキューに転送して、後続の分析と処理を行います。
キューの x-delivery-limit 属性は、最大再試行回数を指定します。 最大配信試行回数は、次の式を使用して計算されます。最大配信試行回数 = x-delivery-limit 属性の値 + 1。
インスタンスリトライポリシーのパラメーター
インスタンスタイプ | サーバーレスインスタンス | サブスクリプションインスタンス | ||
共有 | 排他的 | Enterprise Edition | Enterprise Platinum Edition | |
プロビジョニングされた容量と弾性トラフィックによる支払い/メッセージリクエストによる支払い | プロビジョニングされた容量と弾性トラフィックによる支払い | |||
消費タイムアウト期間 | 最大値: 3時間 デフォルト値: 5分 | 最大値: 12時間 デフォルト値: 30分 | 最大値: 3時間 デフォルト値: 5分 | 最大値: 12時間 デフォルト値: 30分 |
最大配信試行回数 | 最大値: 16 デフォルト値: 16 | 最大値: 16 デフォルト値: 16 | 最大値: 16 デフォルト値: 16 | 最大値: 64 デフォルト値: 16 |
消費リトライポリシーの変更
ApsaraMQ for RabbitMQ コンソール にログインします。
概要 ページの リソース分布 セクションで、インスタンスが存在するリージョンを選択します。 次に、インスタンスリストでインスタンスの名前をクリックします。
インスタンスのリトライポリシー
インスタンス詳細 ページで、再試行ポリシー タブをクリックし、タブの右上隅にある 編集 をクリックします。
再試行ポリシーの修正 パネルで、前のセクションの説明に基づいて 最大配信回数 パラメーターと 消費タイムアウト時間 パラメーターを構成します。
キューのリトライポリシー
インスタンスの詳細ページの左側のナビゲーションウィンドウで、[キュー] をクリックします。 次に、管理するキューの名前をクリックします。
[キューの詳細] ページで、再試行ポリシー タブをクリックし、タブの右上隅にある 編集 をクリックします。
再試行ポリシーの修正 パネルで、前のセクションの説明に基づいて インスタンス設定を継承しますか パラメーター、最大配信回数 パラメーター、消費タイムアウト時間 パラメーターを構成します。

インスタンス構成の継承パラメーターを「はい」に設定すると、キューのリトライポリシーは、キューが属するインスタンスのリトライポリシーとともに変更されます。
インスタンス構成の継承パラメーターを「いいえ」に設定すると、キューのリトライポリシーは、キューが属するインスタンスのリトライポリシーとともに変更されず、キューのリトライポリシーはインスタンスのリトライポリシーよりも優先されます。
OK をクリックします。