kafka基本使用(二)

175 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第24天,点击查看活动详情

大家好,我是尚影嫣🌷,一名Java后端程序媛。如果您喜欢我的文章,欢迎点赞➕关注❤️,让我们一起成为更好的我们~

我们接着来谈一谈kafka的基本使用~

创建主题topic

topic翻译为话题,可以理解为一个队列,生产者和消费者面向的都是一个topic。topic可以实现消息的分类,不同消费者订阅不同的topic。

image.png

创建名为“test01”的topic,此topic只有⼀个partition,备份因子设置为1:

./kafka-topics.sh --create --zookeeper 172.16.253.35:2181 --replication- factor 1 --partitions 1 --topic test01

查看当前kafka内有哪些topic:

./kafka-topics.sh --list --zookeeper 172.16.253.35:2181

发送消息

kafka自带了⼀个producer命令客户端,可以从本地⽂件中读取内容,或者我们也可以用命令行直接输入内容,并将这些内容以消息的形式发送到kafka集群中。在默认情况下,每⼀行会被当做成⼀个独立的消息。使用kafka发送消息的客户端,指定发送到的kafka服务器地址和topic。

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

消费消息

对于consumer,kafka同样也携带了⼀个命令行客户端,会将获取到内容在命令中进行输出,默认是消费最新的消息。使用kafka的消费者消息的客户端,从指定kafka服务器的指定topic中消费消息。

  1. 方式⼀:从最后⼀条消息的偏移量+1开始消费;

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

  1. 方式二:从头开始消费;

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

注意点:

  • 消息会被存储。
  • 消息是顺序存储。
  • 消息是有偏移量的。
  • 消费时可以指明偏移量进行消费。