Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 如果将log.segment.delete.delay.ms设置为0,是否可以中断任何内容_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Apache kafka 如果将log.segment.delete.delay.ms设置为0,是否可以中断任何内容

Apache kafka 如果将log.segment.delete.delay.ms设置为0,是否可以中断任何内容,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我试图对一个主题的大小设置一个绝对的限制,这样它就不会在意外的高写入速度下填满磁盘 通常,这相当于一些计算,如segment=min(1GB,0.1*$max\u space/$partitions)和设置retention.bytes=($max\u space/$partitions-$segment),segment.bytes=$segment和减少log.retention.check.interval.ms。(你甚至可以做一些特技,比如确定你的最大写入速率(磁盘或网络绑定),然后在此

我试图对一个主题的大小设置一个绝对的限制,这样它就不会在意外的高写入速度下填满磁盘

通常,这相当于一些计算,如
segment=min(1GB,0.1*$max\u space/$partitions)
和设置
retention.bytes=($max\u space/$partitions-$segment),segment.bytes=$segment
和减少
log.retention.check.interval.ms
。(你甚至可以做一些特技,比如确定你的最大写入速率(磁盘或网络绑定),然后在此基础上减去安全裕度和
log.retention.check.interval.ms
,也许还有10MB头索引文件的一些绝对偏移量。)这些都在其他问题中讨论过,我不想问这些问题


我想知道
log.segment.delete.delay.ms的作用是什么,我是否可以安全地将其设置为0(或一些非常小的值-5?)。文档中只说明了“从文件系统中删除文件之前需要等待的时间”。我想知道您为什么要这样做,也就是说,这段非0时间会给哪些人带来好处。

此配置可用于确保您的主题的使用者在删除邮件之前有足够的时间来使用该邮件

此配置声明当通过
log.retention.bytes
log.retention.ms
设置的基于时间或基于大小的清理策略触发LogCleaner时应用的延迟


特别是当您已经根据数据大小计算了保留期时,此配置可以帮助您设置邮件删除前的最短时间,并允许消费者在这段时间内实际使用邮件。

我不确定是否理解此答案(至少我现在知道卡夫卡自己也会读这些文件,尽管它们的名字很奇怪,谢谢。)消费者应该尽量保持接近主题的结尾。他们有保留时间或保留大小作为缓冲区,以防他们被暂时搁置。为什么我需要另一种机制呢?也许我不应该说“缓冲区”,但是“从被删除的深渊的安全距离”?但是“全局最小持续时间”对我来说是有意义的(除非我认为它是一个“全局附加持续时间”),也就是说,我认为它除了retention.time和retention.bytes中已经包含的功能外,没有任何其他功能。