
Kafka篇——Kafka基本概念,命令行实现生产者和消费者,详细的介绍让你一遍拿下Kafka基本知识,保姆级教程!
Kafka是一个分布式的流处理平台,主要用于发布和订阅实时数据流。以下是Kafka的基本概念:1. Producer(生产者):负责将数据发布到Kafka集群中的特定主题(topic)。2. Consumer(消费者):从Kafka集群中的特定主题中订阅数据,并进行相应的处理。3. Topic(主题):一个主题可以被看作是一个数据流的类别或名称,用于区分不同类型的数据。4. Partition(分
Kafka基本概念
Kafka是一个分布式的流处理平台,主要用于发布和订阅实时数据流。以下是Kafka的基本概念:
1. Producer(生产者):负责将数据发布到Kafka集群中的特定主题(topic)。
2. Consumer(消费者):从Kafka集群中的特定主题中订阅数据,并进行相应的处理。
3. Topic(主题):一个主题可以被看作是一个数据流的类别或名称,用于区分不同类型的数据。
4. Partition(分区):一个主题可以被分为多个分区,每个分区可以在不同的服务器上。
5. Offset(偏移量):每个分区都有一个唯一的连续编号,称为偏移量,用于标识分区中的每条消息。
6. Broker(代理服务器):Kafka集群中的每个服务器节点都被称为代理服务器,负责接收和处理生产者和消费者的请求。
7. Consumer Group(消费者组):多个消费者可以组成一个消费者组,共同消费一个主题。每条消息只能被消费者组中的一个消费者消费。
8. Replication(副本):为了提高数据的可靠性和冗余性,Kafka将每个分区的数据副本存储在多个服务器上。
9. ZooKeeper:Kafka使用ZooKeeper来协调和管理集群中的各个组件,例如监控健康状态、分配分区等。
Kafka中基础架构图

Kafka名词释义

创建Topic
上一篇文章中我们介绍了Kafka是重Topic的消息队列,那么创建Topic就显得尤为重要了。下面演示的案例希望大家能够认真阅读学习!
1、通过Kafka命令向zk中创建一个Topic主题
下面的命令是创建一个名字为test的topic主题
./kafka-topics.sh --create --zookeeper 172.16.222.32:8080 --replication-factor 1 --partitions 1 --topic test
#--replication-factor 1表示创建1个副本
#--partitions 1表示只创建1个分区
#--topic表示主题名称
2、查看当前zk中所有的主题
./kafka-topics.sh --list --zookeeper 172.16.222.32:8080
发送消息
Kafka自带了一个producer命令客户端,可以从本地文件中读取内容,或者也可以在命令行中直接输入内容,并将这些内容以消息的形式发送到Kafka集群中。在默认的情况下,每一行会被当成一个独立的消息。
想使用Kafka发送消息的客户端,需要指定发送到的Kafka服务器地址和topic
./kafka-console-priducer.sh --broker-list 10.31.167.10:9092 --topic test(test是创建的主题)
消费消息
对于consumer,Kafka同样也携带了一个命令客户端,会将获取到的内容在命令中进行输出,默认是消费最新的消息。
想使用Kafka消费消息客户端,需要从指定Kafka服务器中指定的topic中消费消息
方式一:从最后一条消息的偏移量+1开始消费

解释什么是消息偏移量:
所谓消息偏移量,指的是消费者在消费消息的时候,如果当前主题下已经存在了3条消息,那么该方式会从3+1也就是第4条消息的位置开始消费,前3条消息不会被消费
./kafka-console-consumer.sh --bootstarp-server 10.310167.10.9092 --topic test
方式二:从头开始消费(生产者生产的消息,消费者会从第一条开始消费)

./kafka-console-consumer.sh --bootstarp-server 10.310167.10.9092 --from-beginning --topic test
注意:
1、消息会被存储
消息会存储在某个主题所在的Broker服务器中的/user/local/kafka/data/kafka-logs/主题-分区/00000000.log路径下,消费者消费消息也不是取走服务器中的消息,而是获取,生产的消息还会存储在Broker服务器中
2、消息是顺序存储的
通过offset偏移量来描述消息的有序性
3、消息是有偏移量的
消费者消费消息的时候,通过offset偏移量确定当前消费消息的位置
4、消费时可以指明偏移量进行消费
至此,关于Kafka的基本知识介绍完毕,后续还会持续的更新,希望大家能够持续的关注!!!
笔者在此抱拳啦,希望能和大家共同学习、探索、进步......
更多推荐
所有评论(0)