【Kafka】Apache Kafka ~ Consumer ~

■ はじめに

業務で、kafka-consumer-groups.sh を使ったので
Consumer や Consumer Group について、
徐々にではあるがまとめてみる

目次

【1】Consumer (Subscriber)
【2】Consumer Group
【3】Kafka Command-Line Interface (CLI) Tools
 1)kafka-consumer-groups.sh

【1】Consumer (Subscriber)

* Kafkaからメッセージを取得するアプリケーション

【2】Consumer Group

* メッセージを処理するための複数Consumerからなるグループ
 => グループ化することで分散したConsumer間で
  同一メッセージを重複せずに読み込むことが可能

【3】Kafka Command-Line Interface (CLI) Tools

1)kafka-consumer-groups.sh

* コンシューマ・グループの一覧表示

https://docs.confluent.io/kafka/operations-tools/kafka-tools.html#kafka-consumer-group-usage

kafka-consumer-groups.sh --bootstrap-server ${bootstrap} --describe --group ${consumer-group}

kafka-consumer-groups.sh --bootstrap-server ${bootstrap} --describe --all-groups --comand-config xxx.properties

kafka-consumer-groups.sh --bootstrap-server ${bootstrap} --describe --group ${consumer-group}

TOPIC          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG CONSUMER-ID       HOST         CLIENT-ID
my-topic       0          2               4               2   consumer-1-...    /127.0.0.1   consumer-1
my-topic       1          2               3               1   consumer-1-...    /127.0.0.1   consumer-1
my-topic       2          2               3               1   consumer-2-...    /127.0.0.1   consumer-2

https://qiita.com/YutaSaito1991/items/214ee6d5a81ac4436cd4#consumergroup%E6%93%8D%E4%BD%9C

# 項目 説明
1 CURRENT-OFFSET Consumerが送った最終OFFSET
2 LOG-END-OFFSET Partition のデータの末尾OFFSET
3 LAG 「Broker側の最大OFFSET」と「Consumerが処理済みのOFFSET」の差分

https://n-agetsuma.hatenablog.com/entry/2017/10/09/215218

そもそも OFFSET とは?
https://dk521123.hatenablog.com/entry/2023/05/01/000000

より抜粋

* パーティション内のメッセージの位置(オフセット)を表す
 => 特定のパーティションの各メッセージには一意のオフセットがあり、
  パーティション内のコンシューマーの位置を特定して、
  消費したレコード数を追跡するのに役立つ

参考文献

https://tech-lab.sios.jp/archives/32183

関連記事

Apache Kafka ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/04/26/103421
Apache Kafka ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/01/000000
Apache Kafka ~ Kafkaコマンド ~
https://dk521123.hatenablog.com/entry/2023/05/16/000000