-
到官网下载kafka3.0.0的源码包:Apache Kafka;
-
kafka的生产者和消费者(客户端)的源码是由java编写的、而broker(服务端)则是大部分由scala编写的;
-
经过资料查询,kafka3.0默认的acks应该是-1,保证不丢数据,2点几的版本默认的ack好像是1,可能会丢数据;
-
流程图是由processon上绘制而成;
-
https://www.processon.com/
-
根据总的发送流程,在IDEA中阅读kafka的源码,并在processOn平台绘制源码流程图,可能不太准确,敬请指正;
-
-
消费者组初始化流程图如下:
-
消费者组的消费流程图如下:
-
根据以上两张流程图,分析阅读源码,并绘制数据流图:
-
kafka broker的总体工作流程图如下:
-
源码可以大部分是由scala编写的;在core/src/scala/kafka中可以阅读到源码;
- 获取参数相关信息
- 配置服务
- 启动服务
部分资料来自于五分钟学大数据、尚硅谷



