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

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

kafka生产者客户端核心的数据发送流程主要为三个部分:
在这里插入图片描述

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

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

KafkaProducer(

猜你喜欢

转载自blog.csdn.net/hanxiaotongtong/article/details/124778201