目录

1.通过kafka向zk发送命令让它创建一个无状态topic 

2.查看当前zk中所有主题topic

 3.发送消息

4.消费消息

案例: 

 单播消息和多播消息 

 单播消息

 那么不同消费组的能否消费同topic的消息呢?

 多播消息

查看消费者信息


(42条消息) 【kafka系列】kafka之生产者发送消息实践_溪~源的博客-CSDN博客_kafka生产者发送消息命令

1.通过kafka向zk发送命令让它创建一个无状态topic 

bin/kafka-topics.sh --bootstrap-server 82.157.198.247:9092 --create --partitions 

2.查看当前zk中所有主题topic

bin/kafka-topics.sh --bootstrap-server 82.157.198.247:9092 --describe --topic test

 3.发送消息

把消息发送给broker中的某个topic

我们可以直接在命令行中输入内容,将消息发送到Kafka中,每一行会被当做一个独立的消息;使用kafka的发送消息客户端——>发送到指定的kafka服务器地址和topic主题

bin/kafka-console-producer.sh --broker-list 82.157.198.247:9092 --topic test

我们每发一条信息,都会发送到指定的kafka服务器上 ,那么具体保存在哪呢?就是日志文件下:主题-标识id分区下的0000.log

4.消费消息

1.从最后一条消息+1开始消费 

bin/kafka-console-consumer.sh --bootstrap-server 82.157.198.247:9092 --topic test

案例: 

上面也讲了消息的发送者将消息发送到oooo.log中,并且按照偏移量排序(描述消息的有序性),所以消费者去当中进行消费 

 2.从头开始消费

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test

本质就是一个发布订阅,我们来看看日志文件看看是如何消费的

蓝色的是消费者的消费偏移量,然后还有个test-0存放当前topic节点的信息

 进入test-0(topic主题-标识id)

 单播消息和多播消息 

 单播消息

概念:一个消费组里面只能有一个消费者订阅到topic的消息

在kafka的topic中启动两个消费者,一个生产者,消费者是否都会收到?

1.在kafka服务器broker后配置服务组 --consumer -property.id=xxx

bin/kafka-console-consumer.sh --bootstrap-server 82.157.198.247:9092 --consumer-property group.id=testGroup --topic test

 2.利用消费组组开启一个消费组消费消息,发现消费者接收到了消息(利用消费组)

 3.再开启一个消费者(消费组中),发现这个消费者消费不了服务方发来的消息

4. 但是如果一个消费者一个不在同消费组可以一起消费同一个topic的消息

 那么不同消费组的能否消费同topic的消息呢?

是可以的,也就是我们的多播消息,不同消费组订阅同一个topic

bin/kafka-console-consumer.sh --bootstrap-server 82.157.198.247:9092 --consumer-property group.id=testGroup1 --topic test

 消费组TestGroup1

 消费组TestGroup

 多播消息

不同消费组的消费者能够订阅同一个topic的消息,单播消息和多播消息也可以综合起来考虑,比如testGroup1有两个消费者,testGroup2有两个消费者——>各有一个能够消费topic中的消息 

查看消费者信息

1.查看当前主题下有多少消费者订阅 

bin/kafka-consumer-groups.sh --bootstrap-server 82.157.198.247:9092 --list

 2.查看消费组的详细信息

当前消费到的位置偏移量,已经消费完的偏移量,和剩余的消息数量(查看消费组的详细信息)

bin/kafka-consumer-groups.sh --bootstrap-server 82.157.198.247:9092 --describe --group testGroup

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐