このトピックでは、例外によってコンシューマーがメッセージの消費を停止したときに、コンシューマーオフセットを管理する方法について説明します。
コンシューマーオフセットのコミッションメカニズム
コンシューマーオフセットは、メッセージが消費された後に必ずコミットされるとは限りません。ブローカーは、コンシューマーによってコミットされたコンシューマーオフセットを記録します。
コンシューマーオフセットのコミットに使用されるメカニズムは、使用するクライアント SDK によって異なります。ほとんどの場合、次のメカニズムがサポートされています。
自動コミッション:SDK は、最後に消費されたメッセージのコンシューマーオフセット + 1 を特定の間隔でコミットします。
手動コミッション: commit(offsets) 関数を呼び出して、クライアントで最後に消費されたメッセージのコンシューマーオフセット + 1 をコミットします。
手順
コンシューマーオフセットの表示
トピックの詳細 ページの サブスクリプション関係 タブで、管理するトピックの 操作 列の 消費の詳細 をクリックします。表示されたパネルで、必要なコンシューマーによってコミットされたコンシューマーオフセットを表示します。コンシューマーはこのコンシューマーオフセットから消費を続行します。詳細については、コンシューマーの詳細の表示 をご参照ください。
コンシューマーオフセットのリセット
[グループの詳細] ページの右上隅にある 消費位置のリセット をクリックします。[コンシューマーオフセットのリセット] パネルで、コンシューマーオフセットをリセットする方法を選択します。詳細については、コンシューマーオフセットのリセット をご参照ください。
重要ApsaraMQ for Kafka コンソールでコンシューマーグループのコンシューマーオフセットをリセットする前に、コンシューマーを停止する必要があります。そうしないと、更新されたコンシューマーオフセットが、コンシューマーによってコミットされた新しいコンシューマーオフセットによって上書きされる可能性があります。