【kafka专栏】生产者数据批量发送流程源码解析

2年前 (2022) 程序员胖胖胖虎阿
130 0 0

文章目录

    • 一、生产者数据发送整体流程
    • 二、ProducerRecord与ProducerBatch与RecordAccumulator
    • 三、定时发送与定量发送
    • 四、生产者数据发送流程环节

一、生产者数据发送整体流程

kafka生产者客户端核心的数据发送流程主要为三个部分:
【kafka专栏】生产者数据批量发送流程源码解析

  1. 主线程调用KafkaProducer发送数据,数据不是直接发送给kafka broker服务端,而是先缓冲起来。
  2. 有一个单独的线程(sender)专门负责将缓冲数据发往kafka broker服务端。
  3. 缓冲的目的是:为避免高并发请求造成的服务端压力,所以数据不是一条一条发给服务端,而是缓冲后批量发送。
  4. 单独线程负责数据发送的目的是:避免造成主线程发送数据时阻塞,造成核心业务响应延时。

我们来查一下KafkaProducer,java源码,其核心构造方法为:

KafkaProducer(

相关文章

暂无评论

暂无评论...