Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了 两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。 main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取 消息发送到 Kafka broker

  KafkaProducer 发送消息流程

 

   发送数据先经常拦截器、序列化器、分区器(默认轮询分区)。

 

batch.size:只有数据积累到 batch.size 之后,sender 才会发送数据。

linger.ms:如果数据迟迟未达到 batch.size,sender 等待 linger.time 之后就会发送数据。

 

相关文章:

  • 2022-02-06
  • 2022-12-23
  • 2021-08-02
  • 2021-10-31
  • 2021-09-10
  • 2022-01-06
  • 2018-10-31
  • 2021-06-19
猜你喜欢
  • 2021-10-07
  • 2022-01-14
  • 2021-11-15
  • 2021-05-03
  • 2022-12-23
  • 2023-02-21
  • 2021-05-05
相关资源
相似解决方案