■ はじめに
業務で、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