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

ApsaraMQ for RabbitMQ:消費リトライポリシー

最終更新日:Mar 08, 2026

このトピックでは、ApsaraMQ for RabbitMQ のデフォルトのサーバー側コンシューマーリトライポリシーについて説明します。消費失敗後のメッセージの処理方法を説明し、適切な処理ポリシーを選択するのに役立ちます。

コンシューマーリトライフロー

コンシューマーリトライメカニズムは、一時的な障害が発生した際にメッセージの送信または処理を自動的にリトライすることで、システム信頼性とデータ整合性を向上させます。

  • Ready: キュー内にあり、消費を待機しているメッセージ。

  • Unack: コンシューマーが取得したが、まだ確認応答していないメッセージ。これは、メッセージが受信されたものの完全に処理されていないことを意味します。

image

リトライポリシーのプロパティ

コンシューマーリトライポリシーは、消費タイムアウトと最大配信試行回数という2つの主要なプロパティで構成されます。

image

消費タイムアウト

消費タイムアウトは、コンシューマーがメッセージを処理するために許容される最大時間です。この時間内にコンシューマーがメッセージを処理しない場合、メッセージは Ready 状態に戻ります。その後、別のコンシューマーがメッセージを取得できます。適切な消費タイムアウトを設定することには、次の利点があります。

  • 長時間の停止を回避: 適切な消費タイムアウトは、コンシューマーがメッセージ処理中に長時間一時停止されるのを防ぎます。これにより、メッセージ蓄積が回避され、システム全体のパフォーマンスが向上します。

  • 信頼性の高いメッセージ処理を保証: コンシューマーが長時間メッセージを処理できない場合、ApsaraMQ for RabbitMQ はそのメッセージを他のコンシューマーに再配信します。これにより、メッセージが迅速に処理されることが保証されます。

最大配信試行回数

最大配信試行回数は、システムがメッセージをコンシューマーに配信しようとする最大回数です。適切な最大配信試行回数を設定することには、次の利点があります。

  • 無限のリトライを回避: 最大配信試行回数を設定することで、メッセージが無期限に再配信されるのを防ぎます。これにより、システムリソースの無駄遣いを回避できます。

  • フェイルオーバー: 最大配信試行回数に達すると、システムはメッセージをデッドレターキューに転送できます。開発者はその後、メッセージを分析して処理できます。

説明

キューの x-delivery-limit プロパティは、最大再配信回数を指定します。最大配信試行回数は x-delivery-limit + 1 に等しくなります。

インスタンスリトライポリシーのパラメーター説明

インスタンスタイプ

サーバーレスインスタンス

サブスクリプションインスタンス

共有

専用

Enterprise Edition

Platinum Edition

Reserved + Elastic / Pay-by-accumulated usage

Reserved + Elastic

消費タイムアウト

最大: 3 時間

デフォルト: 5 分

最大: 12 時間

デフォルト: 30 分

最大: 3 時間

デフォルト: 5 分

最大: 12 時間

デフォルト: 30 分

最大配信試行回数

最大: 16

デフォルト: 16

最大: 16

デフォルト: 16

最大: 16

デフォルト: 16

最大: 64

デフォルト: 16

コンシューマーリトライポリシーの変更

  1. ApsaraMQ for RabbitMQ コンソールにログインします。

  2. [概要] ページの [リソース分布] セクションで、リージョンを選択し、対象のインスタンスをクリックします。

    • インスタンスリトライポリシー

      1. インスタンス詳細 ページで、再試行ポリシー タブをクリックし、編集 をクリックします。

      2. 再試行ポリシーの修正 パネルで、上記の有効値の範囲に基づいて、最大配信回数消費タイムアウト時間 の値を設定します。

    • キューリトライポリシー

      1. 左側のナビゲーションウィンドウで、[キューリスト] をクリックし、対象キューをクリックします。

      2. [キュー詳細] ページで、再試行ポリシー タブをクリックし、編集 をクリックします。

      3. 再試行ポリシーの修正 パネルで、上記の有効値の範囲に基づいて、インスタンス設定を継承しますか最大配信回数、および 消費タイムアウト時間 の値を設定します。

        image

        • キューがインスタンス設定を継承する場合、そのリトライポリシーはインスタンスレベルの設定によって決定されます。インスタンスレベルの設定が変更されるたびに、キューのリトライポリシーが更新されます。

        • キューがインスタンス設定を継承しない場合、そのリトライポリシーは個別に設定され、インスタンスレベルの設定をオーバーライドします。

  3. OK をクリックします。