Kafka の groupId の役割は?

Kafka の groupid(コンシューマグループID)は、同じトピックのメッセージを消費するコンシューマのグループを識別するもので、次の働きがあります。

  1. メッセージのロードバランシングの実装:複数のコンシューマーが同じコンシューマーグループに所属している場合、Kafkaはトピックのパーティションを各コンシューマーに均等に割り当て、メッセージのロードバランシングを実現します。
  2. 高い可用性を提供:Kafkaは、コンシューマーグループ内の消費者が失敗または停止すると、その消費者のパーティションが正常に機能している他の消費者に自動的に再分配されるため、メッセージの継続的なコンシューミングが保証されます。
  3. メッセージの順序を保証する: メッセージの順序を保証する必要があるときは、複数のコンシューマーを同じコンシューマーグループに参加させることができます。すると、Kafka は同じパーティションからのメッセージが順序どおりに同じコンシューマーに割り当てられることを保証します。
  4. コンシューマーの水平スケーリングに対応:コンシューマー数を増減するときは、単にコンシューマーグループへのコンシューマーの追加または削除のみで済み、Kafkaが自動的にパーティションの再割り当てを行い、コンシューマーの水平スケーリングを実現します。

消費者グループ内のコンシューマーは、コンシューマーの消費速度やコンシューマーオフセットなどのコンシューマー構成が同一である必要があることに注意してください。

bannerAds