1. buffer.memory 2. max.block.ms 1. buffer.memory 生产者将用于缓冲等待发送到broker的消息的内存量,生产者发送消息的 速度快于broker所能处理的速度,记录将保留在生产者的内存中进行缓冲; 默认每个生产者维护一个32MB的缓冲内存,称为发送缓冲区; 缓冲区可能会随时间的推移而填满(fill up), 并在到broker的吞吐量增加时fill back down; 当缓冲区内存已满时,生产者的send()将阻塞,由max.block.ms控制; 2. max.block.ms 控制生产者在调用send()和通过partitionsFor()显式请求元数据时会阻塞多长时间; 当生产者的发送缓冲区已满或元数据不可用时,这些方法会阻塞; 当达到max.block.ms时,会引发超时异常,默认60000,即1分钟;