kafka源码核心阅读

kafka源码核心阅读

  • 到官网下载kafka3.0.0的源码包:Apache Kafka;

  • kafka的生产者和消费者(客户端)的源码是由java编写的、而broker(服务端)则是大部分由scala编写的;

  • 经过资料查询,kafka3.0默认的acks应该是-1,保证不丢数据,2点几的版本默认的ack好像是1,可能会丢数据;

  • 流程图是由processon上绘制而成;

  • https://www.processon.com/

生产者源码流程图

  • kafka源码核心阅读_第1张图片

  • 根据总的发送流程,在IDEA中阅读kafka的源码,并在processOn平台绘制源码流程图,可能不太准确,敬请指正;
    -kafka源码核心阅读_第2张图片

消费者源码流程图

  • 消费者组初始化流程图如下:

  • kafka源码核心阅读_第3张图片

  • 消费者组的消费流程图如下:

  • kafka源码核心阅读_第4张图片

  • 根据以上两张流程图,分析阅读源码,并绘制数据流图:

  • kafka源码核心阅读_第5张图片

服务端kafka broker源码

  • kafka broker的总体工作流程图如下:

  • kafka源码核心阅读_第6张图片

  • 源码可以大部分是由scala编写的;在core/src/scala/kafka中可以阅读到源码;

  1. 获取参数相关信息
  2. 配置服务
  3. 启动服务

部分资料来自于五分钟学大数据、尚硅谷

你可能感兴趣的:(kafka,java,scala,大数据)