kafka生产者主线程与Sender线程消息发送流程图
2024-05-30 11:04:58 1 举报
登录查看完整内容
该流程图展示了Kafka生产者主线程和Sender线程之间的消息发送过程。首先,生产者主线程将消息放入消息缓冲区中,然后Sender线程从缓冲区中取出消息,并将其放入缓存记录中。接下来,Sender线程将缓存记录添加到套接字通道中,并通过网络发送给Kafka代理。最后,Kafka代理接收到消息并将其写入分区日志文件中。该流程图有助于了解Kafka生产者如何将消息高效地从主线程发送到Kafka代理。
作者其他创作
大纲/内容
5
消息发送重试
ProducerBatch
创建Request
KafkaProducer
发送失败
NetWorkClient
9发送消息
11
3
达到batch.size或达到linger.ms则发送消息到broker分区
超过重试次数或不重试
8交给Selector准备发送
Partitioner
重试?
node2
Kafka Cluster
发送成功,返回record元数据
7缓存
10响应消息
成功?
RecordMetadata
4
RecordAccumulator
node3
KafkaException
2
send(ProducerRecord record)
1
6
主线程
node1
ProducerInterceptors
Selector
Sender
Serializer
Sender线程
InfilghtReuests
0 条评论
回复 删除
下一页