概述
最近在使用kafka,需要往kafka中发送消息以及消费,这里就复习下kafka api的基本使用情
环境
kafka java api
我们先来看看java api 然后在对比使用springboot整合
- KafkaConfig
获取KafkaProducer 和KafkaConsumer实例,这里写成了单例模式
- KafkaProducerTrain (生产者)
- KafkaConsumerTrain(消费者)
Spring boot 整合kafka
- KafkaProducer
- KafkaConsumer
看完springboot 整合kafka大家感觉这样太简单了,简单的原因是底层给我们处理了,通过kafkaTemplate,以及@KafkaListener.所以我们更应该去学习底层原理.
kafka 常用命令
- 创建topic
kafka-topics --create --zookeeperlocalhost:2181 --replication-factor 3 --partitions 10 --topic test
- 查询topic列表
kafka-topics --list --zookeeper localhost:2181/kafka
- 查看topic详情
kafka-topics --describe --zookeeper localhost:2181/kafka --topic test
- 查看有哪些消费者组
kafka-consumer-groups --zookeeper localhost:2181/kafka --list
- 查看kafka某个消费组偏移量
旧版本:
kafka-consumer-groups --zookeeper localhost:2181/kafka --group groupid --describe
新版本
kafka-consumer-groups --new-consumer --bootstrap-server localhost:9092 --describe --group groupid
- 查看某一个topic对应的消息数量
kafka-run-class kafka.tools.GetOffsetShell --broker-list localhost:9092/kafka --topic TAG-EXCHANGE-INSTANCE-HUMAN-TOPIC --time -1
- 启动生产者
kafka-console-producer --topic test --broker-list localhost:9092
- 启动消费者
kafka-console-consumer --topic test --zookeeper localhost:2181/kafka