进行kafka的生产及消费实验测试样例
1,创建topic,分区数4,副本因子1
.\kafka-topics.bat --zookeeper localhost:2181 --create --topic my_topic_name --partitions 4 --replication-factor 1
2,创建一个消费者属于消费者组my-group
.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --group my-group --topic my_topic_name --from-beginning
3,查看消费者组的消费者成员及消费情况
.\kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group my-group
其中可以看到创建的topic下的四个分区都属于单个消费者进行消费。
具体的参数
CURRENT-OFFSET: 当前消费组消费到的偏移量
LOG-END-OFFSET: 日志最后的偏移量
CURRENT-OFFSET = LOG-END-OFFSET 说明当前消费组已经全部消费了
如图所示暂时还没有消费生产和消费所以值暂时都为0
4,创建生产者向my_topic_name进行生产
.\kafka-console-producer.bat --broker-list localhost:9092 --topic my_topic_name
5,可以查看到消费者已经接收到相关信息
6,查看消费者组的消费者成员及消费情况
.\kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group my-group
可以看到消费者将信息进行了消费,其中CURRENT-OFFSET = LOG-END-OFFSET 说明当前各个分区的消息已经被全部消费了
7,关闭掉消费者
8,生产者继续生产消息
9,再次查看消费者组的消费者成员及消费情况
.\kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group my-group
在图中可以看到,此时没有消费者,日志的最新一条的消息offset大于,已经被消费的存储的offset记录。
10,重新创建一个消费者进行消费
.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --group my-group --topic my_topic_name --from-beginning
11,再次查看消费者组的消费者成员及消费情况
.\kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group my-group
此时可以看见CURRENT-OFFSET = LOG-END-OFFSET,说明消费被全部消费完毕。