初尝Kafka(四):数据的从生产到消费

274 阅读2分钟

这是我参与8月更文挑战的第5天,活动详情查看: 8月更文挑战

之前我们已经初步在命令行中使用了Kafka,下面我们就来说日一下数据从生产到消费的一个生命周期。

说到这里,就必须要提前说一下Kafka的几大组成部分了。

1.生产者和消费者

producer and consumer,生产者将数据发送到Kafka服务中,由消费者去提取数据进行消费。

2.broker(集群实例)

Kafka的优势之一就是其可以支撑集群分布式部署,在每个服务器上开启Kafka服务(broker.id不同),每个Kafka服务就是一个集群实例,也可以说是一个broker。

3.topic(主题)

Kafka中的关键词之一,单个topic代表着一种类型的消息,等同于对生产者发送的消息进行一个归类。

4.partition(分区)

分区,topic下的更小元素,所以topic下面会存在多个partition,每个分区会在磁盘上对应着一个文件。

5.offset(偏移量)

因为一个分区对应着一个磁盘文件,消息发送到Kafka中,就会被放置在分区中,这个时候消息的位置如何获取,那就要考偏移量offset来实现标记点。

到此,Kafka的几个基本构成就介绍完成了。

现在就可以来说一下重头戏了。

1.由生产者对topic进行消息的发送。

2.Kafka将消息数据在中topic或直接存放,或进行分区存放,同时也确保消息能被正常获取到,并且在各分区维持一个数量的平衡。

3.然后消费者进行订阅特定的topic。

4.Kafka获得消费者要订阅的指令,将会立即将特定的消息发送给消费者。

5.在消费者将消息数据消费后,同时会给Kafka一个反馈。

6.Kafka收到确认后,会利用偏移量更新为最新值,并在ZooKeeper中进行更新。

7.由此,从生产者发出消息数据到消费者对其进行消费,就完成了。

本是微末凡尘,却也心向天空。