KafkaProducer消息生产过程


发布于 2024-07-31 / 25 阅读 / 0 评论 /
基于kafka3.6.0源码,解析KafkaProducer生产消息过程

KafkaProducer是kafka最重要的几个api之一。

1.KafkaProducer类结构

我们通过KafkaProducer中的属性链路来解析KafkaProducer的类结构。

属性链路对我们解析KafkaProducer的消息生产过程十分重要。

2.KafkaProducer线程模型

KafkaProducer进程中包含两个重要的线程:main和producer

2.1.KafkaProducer主线程

主线程名为main,执行过程如下图所示:

主线程最终把消息写入到了内存中,而内存中的数据需要通过io线程发送给Kafka Broker。

2.2.KafkaProducer IO线程

线程名前缀为kafka-producer-network-thread,IO线程执行过程如下图所示:

主要通过Sender来完成,kafka自身通过socket编程,以NIO方式实现对数据的发送。