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

ApsaraMQ for RocketMQ:コンシューマーオフセットのリセット

最終更新日:Sep 10, 2026

コンシューマーオフセットをリセットすると、コンシューマーの現在の消費位置が変更されます。コンシューマーに障害が発生した場合や、不正なデータを消費した場合は、コンシューマーオフセットをリセットして以前の位置にロールバックし、消費を再開できます。または、消費位置を最新のオフセットに移動して、蓄積されたメッセージを一時的にスキップすることもできます。

背景情報

ApsaraMQ for RocketMQ は、コンシューマーオフセットを使用してメッセージ消費の進捗状況を管理します。コンシューマーがメッセージを処理した後、メッセージはキューからすぐに削除されません。ApsaraMQ for RocketMQ は、グループごとに消費記録を維持します。この記録はコンシューマーオフセットと呼ばれ、グループのコンシューマーが特定のトピックで消費した最新メッセージのオフセットを指定します。

コンシューマーのクライアントがオフラインになった後、再びオンラインになると、サーバーサイドに保存されている消費の進捗に基づいてメッセージの処理を再開します。

消費に異常がある場合や、現在のコンシューマーオフセットが正しくない場合は、コンシューマーオフセットをリセットすることで消費の進捗を調整できます。

ApsaraMQ for RocketMQは、以下の方法でコンシューマーオフセットのリセットをサポートしています:

  • [最新地点で消費を始める]

    特定のトピックのメッセージを処理するコンシューマーは、蓄積されたすべてのメッセージをスキップし、リセット操作後に送信された最新のメッセージから消費を開始します。

  • [指定時点の同地点での消費開始]

    • コンシューマーは、メッセージが以前に消費されたかどうかにかかわらず、指定した時刻に対応するオフセットからメッセージを処理します。

    • 選択可能な時間範囲は、トピックに保存されている最も古いメッセージと最新のメッセージの作成時刻の間です。

    • 特定の時点のコンシューマーオフセットにリセットすると、サーバーサイドで最も近いコンシューマーオフセットが自動的に見つかります。

シナリオ

  • メッセージの蓄積のクリア:下流の消費システムのパフォーマンスが不十分である場合や、消費速度が生産速度よりも遅い場合、多くのメッセージが蓄積される可能性があります。これらの蓄積されたメッセージを破棄できる場合は、コンシューマーオフセットを指定した位置にリセットできます。これにより、蓄積されたメッセージをバイパスし、下流システムの処理圧力を軽減できます。

  • 修正のためのバックトラック処理:消費のビジネスロジックに異常があり、メッセージが誤って処理された場合、これらのメッセージを再消費する必要がある場合があります。これを行うには、コンシューマーオフセットを履歴の位置にリセットします。これにより、消費をバックトラックできます。

注意事項

  • コンシューマーオフセットのリセットは、対象トピックにおける指定グループのコンシューマーオフセットに適用されます。同じトピックをサブスクライブしている他のグループの消費の進捗には影響しません。

  • コンシューマーオフセットのリセットは、ブロードキャスト消費モードではサポートされていません。

  • ApsaraMQ for RocketMQ は、TCP プロトコルを使用するグループのコンシューマーオフセットのリセットのみをサポートしており、HTTP プロトコルを使用するグループはサポートしていません。

  • コンシューマーオフセットのリセット機能は、コンシューマーから可視のメッセージのみをリセットします。スケジュール済みメッセージやリトライ待ちのメッセージはリセットできません。

  • コンシューマーオフセットは、コンシューマーがオンラインの場合にのみリセットできます。

操作手順

  1. ApsaraMQ for RocketMQコンソールにログインします。 左側のナビゲーションウィンドウで、インスタンス数 をクリックします。

  2. 上部のナビゲーションバーで、中国 (杭州) などのリージョンを選択します。 [インスタンス] ページで、管理するインスタンスの名前をクリックします。

  3. 左側メニューで、 グループ管理 をクリックし、 TCP プロトコル タブをクリックします。

  4. コンシューマーオフセットをリセットするグループ ID を見つけます。 操作 列で 詳細 をクリックし、ドロップダウンメニューから 消費地点をリセットする を選択します。

  5. 確定 パネルで、対象トピックとリセット方法を選択し、 [OK] をクリックします。

    警告

    最新地点で消費を始める を選択すると、指定したトピックにおける対象グループの蓄積メッセージがすべてクリアされます。この操作が有効になるまで約 2~3 分かかります。操作を繰り返さないでください。この間、アプリケーション内のすべてのコンシューマーは 2~3 分間消費を一時停止します。レイテンシーの影響を受けやすいビジネスの場合は、この操作を慎重に行ってください。

    • [最新地点で消費を始める]:このオプションを選択すると、グループ内のコンシューマーは、指定したトピックの蓄積されたすべてのメッセージをスキップし、最新のメッセージから消費を開始します。

    • [指定時点の同地点での消費開始]:このオプションを選択すると、時刻選択コントロールが表示されます。時刻を指定できます。コンシューマーは、メッセージが以前に消費されたかどうかにかかわらず、この時刻の後に送信されたメッセージの消費を開始します。

  6. [プロンプト] ダイアログボックスで情報を確認し、 確定 をクリックします。

よくある質問

両方の方法でコンシューマーオフセットのリセットに失敗した場合はどうすればよいですか。

  1. クラスター消費を使用していることを確認してください。ブロードキャスト消費モードでは、コンシューマーオフセットのリセットはサポートされていません。

  2. コンシューマーがオンラインであることを確認してください。コンシューマーオフセットは、コンシューマーがオンラインの場合にのみリセットできます。

  3. SDK のバージョンを確認してください。 SDK のバージョンが古い場合、この問題が発生することがあります。 SDK を最新バージョンにアップグレードすることを推奨します。たとえば、Java 用 TCP クライアント SDK のバージョンは 1.8.0.Final 以降である必要があります。詳細については、「バージョンガイド」をご参照ください。

蓄積メッセージをスキップするためにコンシューマーオフセットをリセットした後も、一部のメッセージがリセットされないのはなぜですか。

コンシューマーオフセットのリセット機能は、リトライ状態のメッセージには適用されません。そのため、リセット後もリトライ待ちの少数のメッセージが配信されることがあります。

コンシューマーオフセットをリセットして再消費できる最も古いメッセージは何ですか。

オフセットを指定された時点にリセットする場合、選択できる最も古い時刻は、トピック内の最も古いメッセージが保存された時刻になります。ApsaraMQ for RocketMQ 4.x シリーズのインスタンスは、メッセージを最大 3 日間保存します。3 日を超えたメッセージはトピックから削除されます。

したがって、コンシューマーはコンシューマーオフセットをリセットすることで、最大 3 日前までのメッセージを再消費できます。

関連ドキュメント

コンソールに加えて、ApsaraMQ for RocketMQ では API 操作を呼び出すことでコンシューマーオフセットをリセットできます。

グループ ID のコンシューマーオフセットのリセット