batch.size: 当多个消息要发送到相同分区的时,生产者尝试将消息批量打包在一起,以减少请求交互。这样有助于客户端和服务端的性能提升。该配置的默认批次大小(以字节为单位):不会打包大于此配置大小的消息。发送到broker的请求将包含多个批次,每个分区一个,用于发送数据。
buffer.memory: 生产者要用的总内存,用来缓存等待发送到服务器的消息的内存总字节数。
关于batch.size和buffer.memory不知道这样理解对不对:
生产者每次讲需要发送的消息在linger.ms设置的时间间隔内缓存在buffer.memory,然后再从缓存中发送到服务器?
那么缓存每个分区未发送消息,即batch.size指定的空间是什么啊?