文章目录
-
- 一、生产者数据发送整体流程
- 二、ProducerRecord与ProducerBatch与RecordAccumulator
- 三、定时发送与定量发送
- 四、生产者数据发送流程环节
一、生产者数据发送整体流程
kafka生产者客户端核心的数据发送流程主要为三个部分:
- 主线程调用KafkaProducer发送数据,数据不是直接发送给kafka broker服务端,而是先缓冲起来。
- 有一个单独的线程(sender)专门负责将缓冲数据发往kafka broker服务端。
- 缓冲的目的是:为避免高并发请求造成的服务端压力,所以数据不是一条一条发给服务端,而是缓冲后批量发送。
- 单独线程负责数据发送的目的是:避免造成主线程发送数据时阻塞,造成核心业务响应延时。
我们来查一下KafkaProducer,java源码,其核心构造方法为:
KafkaProducer(
相关文章
暂无评论...