卡夫卡生产者批量大小

dsi*_*ngh 9 apache-kafka

我有一个与batch.size生产者配置相关的问题。

batch.size当达到并且生产者应用程序线程发送更多数据时会发生什么?

线程是否会阻塞,直到包含批处理的缓冲区中的空间可用为止?

Roh*_*dav 6

batch.size以总字节数而不是消息数来衡量批量大小。它控制在向 Kafka 代理发送消息之前要收集多少字节的数据。在不超过可用内存的情况下将其设置得尽可能高。默认值为 16384。

当您使用 时Producer.send(),您会填充生产者上的缓冲区。当缓冲区已满时,生产者将缓冲区发送到 Kafka 代理并开始重新填充缓冲区。