消息发送流程
Kafka的producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断地从RecordAccumulator中拉取消息发送到Kafka broker。
相关参数
batch.size:
只有数据积累到batch.size之后,sender才会发送数据。
linger.ms:
如果数据迟迟未达到batch.size,sender等待linger.time之后就会发送数据。备注:在实际工作中 linger.ms=0;