消费者的组件
-
KakfaConsumer:消费端,用于启动消费者进程来消费消息。 -
ConsumerConfig:消费端配置管理,用于给消费端配置相关参数,比如指定 Kafka 集群,设置自动提交和自动提交时间间隔等等参数,都由其来管理。 -
ConsumerConnector:消费者连接器,通过消费者连接器可以获得 Kafka 消息流,然后通过消息流就能获得消息从而使得客户端开始消费消息。
消费者消费消息流程
从消费者与 ZK 的角度的消费流程

首先拉取线程每拉取一次消息,同步更新一次拉取状态,其作用是为了下一次拉取消息时能够拉取到最新产生的消息;拉取线程将拉取到的消息写入到队列中等待消费消费线程去真正读取处理。消费线程以轮询的方式持续读取队列中的消息,只要发现队列中有消息就开始消费,消费完消息后更新消费进度,此处需要注意的是,消费线程不是每次都和 ZK 同步消费进度,而是将消费进度暂时写入本地。这样做的目的是为了减少消费者与 ZK 的频繁同步消息,从而降低 ZK 的压力
本文深入探讨了Kafka消费者的三个核心组件:KafkaConsumer、ConsumerConfig和ConsumerConnector的功能与工作流程。KafkaConsumer负责启动消费进程,ConsumerConfig管理消费端配置,而ConsumerConnector则提供消息流供客户端消费。此外,文章还详细介绍了消费者与ZK交互的过程,包括如何通过拉取线程和消费线程协同工作来确保高效、低延迟的消息消费。
884

被折叠的 条评论
为什么被折叠?



