持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第24天,点击查看活动详情
大家好,我是尚影嫣🌷,一名Java后端程序媛。如果您喜欢我的文章,欢迎点赞➕关注❤️,让我们一起成为更好的我们~
我们接着来谈一谈kafka的基本使用~
创建主题topic
topic
翻译为话题,可以理解为一个队列,生产者和消费者面向的都是一个topic。topic可以实现消息的分类,不同消费者订阅不同的topic。
创建名为“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开始消费;
./kafka-console-consumer.sh --bootstrap-server 172.16.253.38:9092 --topic test
- 方式二:从头开始消费;
./kafka-console-consumer.sh --bootstrap-server 172.16.253.38:9092 --from-beginning --topic test
注意点:
- 消息会被存储。
- 消息是顺序存储。
- 消息是有偏移量的。
- 消费时可以指明偏移量进行消费。