kafka基本概念
Broker: 消息中间件的处理节点,一个kafka节点就是一个broker Topic: 用于对消息进行归类,每条消息都要指定一个Topic Producer: 消息生产者,向broker发送消息 Consumer: 消息消费者,从broker读取消息
发送消息
kafka自带一个producer命令客户端,可以从本地读取内容,也可以直接在命令行输入内容,输入内容以消息的形式发送到kafka集群中,输入的每一行内容当作一个独立的消息。使用kafka 发送消息的客户端producer,指定kafka服务器地址、指定Topic发送消息:
输入 a b c 三个消息 $ bin/kafka-console-producer.sh --broker-list 10.20.30.40:9092 --topic hello >a >b >c
消费消息
kafka同样携带consumer命令客户端,可以在命令行指定kafka服务器地址、指定Topic来消费kafka中的消息,默认是消费最新的消息,可添加参数 --from-beginning 从头消费
一、从当前主题的最后一条消息的offset(偏移量位置)+1开始消费
$ bin/kafka-console-consumer.sh --bootstrap-server 10.20.30.40:9092 --topic hello
二、从当前主题的第一条消息开始消费
$ bin/kafka-console-consumer.sh --bootstrap-server 10.20.30.40:9092 --from-beginning --topic hello a b c
关于消息的细节
消息的特性:
1.消息是顺序存储的 2.消息是有偏移量的 3.消费时可以指明偏移量进行消费
生产者将信息发送给broker,broker会将消息保存在kafka本地的日志文件中(配置文件中log.dirs指定的目录下)
ll /tmp/kafka-logs/hello-0/ total 8 -rw-r--r-- 1 root root 10485760 Jan 11 01:49 00000000000000000000.index -rw-r--r-- 1 root root 495 Jan 11 03:22 00000000000000000000.log -rw-r--r-- 1 root root 10485756 Jan 11 01:49 00000000000000000000.timeindex -rw-r--r-- 1 root root 8 Jan 11 01:49 leader-epoch-checkpoint #/tmp/kafka-logs 是log.dir指定的文件、hello是topic、-0是分区 #存储消息的文件为 00000000000000000000.log
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)