kafka消费者源码解读笔记

春节放假,因为疫情封锁,回不了老家,呆在家里无所事事,把kafka的客户端源码又拿出来仔细看了一下,本来想写几篇总结博客,但是我发现,想写的网上都已经有人写过了,那就不用再白费力气了,直接捡几篇好文章放上来。

还是做个简单的总结,以备自己后续查看。

下图是我画的一个kafka客户端消费者的基本结构图,KafkaConsumer内部有两个主要模块,一个是ConsumerCoordinator,用于维护消费组和分区信息,包括连接coordinator、加入group、分配分区、提交offset等,在加入group后,还会启动HeartBeatThread线程,用于定时向kafka服务端心跳信息。另一个是Fetcher,用于从kafka服务端拉取数据。

图片名称
  1. 关于kafka消费者的总体代码解读:
    https://www.zhenchao.org/2019/06/19/kafka/kafka-consumer/
  2. 关于kafka的ConsumerNetworkClient的代码解读:
    https://zhmin.github.io/posts/kafka-consumer-network-client/
  3. 关于kafka的NetworkClient的代码解读:
    https://zhmin.github.io/posts/kafka-networkclient/
  4. 关于kafka的selector的代码解读:
    https://www.cnblogs.com/devos/p/5699839.html
posted @ 2022-02-04 15:28  南乡子-  阅读(144)  评论(0编辑  收藏  举报