3.4.1 Kafka消息流

3.4 消费者消费消息

消费者拉取钱程拉取每个分区的数据,会将分区的消息集包装成一个数据块(FetchedDataChunk)放入分区信息的队列中。而每个队列都对应一个消息流(KafkaStream),消费者客户端选代消息流,实际上是迭代每个数据块中消息集的每条消息。

如图3-22所示,一个队列包含多个数据块,每个数据块对应一个分区的消息集,一个消息集包含多条消息。消费者迭代器(ConsumerIterator)封装了迭代获取消息的逻辑,客户端不需要面向数据块、消息集这些内部对象,只需要对消费者迭代器循环获取消息即可。

在这里插入图片描述


3.4.1 Kafka消息流

在开始分析消息流和消费者迭代器之前,有必要回顾一下客户端应用程序消费消息的相关代码。客户端迭代Consumerrterator的方式和迭代Java集合非常相似。相关代码如下:

在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页