卡夫卡消费者fetch-min-sizefetch.min.bytes是否在等待上述大小被填满? fetch.min.bytes fetch.max.wait.ms

问题描述

假设有107条记录,每条记录为1kb。如果提取大小为15kb,则在7次迭代中将消耗105kb。现在,仅剩下2kb,是在下一次迭代中获得剩余的2条记录,还是等待更多15kb的累积?假设此之后没有任何记录。

解决方法

它等待直到到达fetch.max.wait.ms中定义的时间。默认情况下,此值设置为500。您可以在Consumer

的Kafka文档中找到两个相关配置的描述。

fetch.min.bytes

服务器应为获取请求返回的最小数据量。如果没有足够的数据,请求将在等待请求之前等待该数据积累。默认设置为1字节,这意味着只要有一个字节的数据可用,就会立即应答取回请求,或者取回请求超时等待数据到达。将此值设置为大于1的值将导致服务器等待大量数据累积,从而可以以一些额外的延迟为代价提高服务器吞吐量。

fetch.max.wait.ms

如果没有足够的数据立即满足fetch.min.bytes给出的要求,服务器将在回答提取请求之前阻塞的最长时间。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...