Apache kafka Apache Kafka,batch.size vs buffer.memory
我正试图找出卡夫卡制作程序中batch.size和buffer.memory设置之间的区别 据我所知,batch.size是可以发送的批的最大大小 文档将buffer.memory描述为:生产者可以用来缓冲等待发送的记录的内存字节 我不明白这两者之间的区别。有人能解释一下吗 谢谢在我看来 batch.size:单个请求中可发送的最大数据量。如果batch.size为(32*1024),则表示可以在单个请求中发送32 KBApache kafka Apache Kafka,batch.size vs buffer.memory,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,我正试图找出卡夫卡制作程序中batch.size和buffer.memory设置之间的区别 据我所知,batch.size是可以发送的批的最大大小 文档将buffer.memory描述为:生产者可以用来缓冲等待发送的记录的内存字节 我不明白这两者之间的区别。有人能解释一下吗 谢谢在我看来 batch.size:单个请求中可发送的最大数据量。如果batch.size为(32*1024),则表示可以在单个请求中发送32 KB buffer.memory:如果卡夫卡制作人无法向卡夫卡代理发送消息(批处
buffer.memory:如果卡夫卡制作人无法向卡夫卡代理发送消息(批处理)(假设代理已关闭)。它开始在缓冲内存中累积消息批(默认为32 MB)。一旦缓冲区已满,它将等待“max.block.ms”(默认60000ms),以便清除缓冲区。然后是抛出异常。上对这两种生产者配置的描述如下:
- 批量大小
- 缓冲区。内存
卡夫卡制作者和卡夫卡消费者有许多有助于性能调整的配置,如获得低延迟和高吞吐量buffer.memory和batch.size也是其中之一,这些都是卡夫卡制作人特有的。让我们看看这些配置的更多细节
batch.size也基于linger.ms工作,它控制在发送当前批之前等待其他消息的时间量。正如我们所知,Kafka producer在rge当前批次已满或达到linger.ms时间时发送一批消息。默认情况下,prodcuer将在有发送者线程可用于发送消息时立即发送消息,即使bacth中只有消息。buffer.memory对启用压缩的生产者起什么作用?buffer.memory的大小是否需要大于未压缩的消息或压缩的消息?buffer.memory对启用压缩的生产者起什么作用?buffer.memory的大小是否需要大于未压缩的消息或压缩的消息?