本文へスキップ

コンシューマーグループとは?

こんしゅーまーぐるーぷ

コンシューマーグループとは、Apache Kafkaメッセージを共同消費する複数のコンシューマーをまとめたグループで、パーティションを分担して並列処理を実現する仕組みです。

コンシューマーグループ(Consumer Group)は、Apache Kafkaにおいて同一のグループIDを持つ複数のコンシューマーをまとめた論理的な単位です。同じトピックを複数のコンシューマーで効率よく消費するための仕組みで、Kafkaのスケーラビリティを支える中心的な概念です。

仕組みの核心は、パーティションとコンシューマーの1対1以上の対応関係にあります。1つのパーティションは同一コンシューマーグループ内の1つのコンシューマーにしか割り当てられないため、重複処理を防ぎながら並列消費が実現します。

  • コンシューマー数 < パーティション数:一部コンシューマーが複数パーティションを担当
  • コンシューマー数 = パーティション数:最も効率的な並列処理
  • コンシューマー数 > パーティション数:余剰コンシューマーはアイドル状態になる

各コンシューマーグループは独立したオフセット(読み取り位置)を持ちます。そのため、異なるグループが同じトピックを購読しても互いに影響しません。これにより、同じメッセージをログ保存用・通知用・分析用など複数の用途に並行して使うことができます。

コンシューマーがグループに参加または離脱した際は、リバランス(Rebalance)と呼ばれるパーティションの再割り当てが発生します。Kafkaはこの管理をGroupCoordinatorが担い、フォールトトレランスを自動的に維持します。

使い方・例文

「注文イベントを受け取るトピックに、在庫更新用と通知送信用の2つのコンシューマーグループを設定し、それぞれ独立して処理を行う構成にした」という場面で使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語