首页 > 解决方案 > Kafka - 紧凑和基于时间的保留

问题描述

我尝试创建一个使用压缩和删除的 Kafka 主题配置,以实现以下目标:

为此,我尝试了以下特定于主题的配置:

cleanup.policy=[compact,delete]
retention.ms=864000000 (10 days)
min.compaction.lag.ms=3600000 (1 hour)
min.cleanable.dirty.ratio=0.1
segment.ms=3600000 (1 hour)

代理配置如下:

log.retention.hours=7 days
log.segment.bytes=1.1gb
log.cleanup.policy=delete
delete.retention.ms=1 day

当我在测试中将其设置为较小的量时,例如 20 分钟、1 小时等,我可以正确地看到数据在保留期后被修剪,仅retention.ms根据主题进行调整。

我可以看到数据按预期正确压缩,但是如果我从头开始阅读主题,在 10 天的保留期之后,超过 10 天的数据仍然存在。这么长的保留期有问题吗?

我在这里缺少任何配置吗?我检查了 kafka 日志,看到代理正在按预期滚动分段和压缩,但看不到任何有关删除的信息?

卡夫卡版本是 5.1.2-1

标签: apache-kafka

解决方案


您的主题和代理配置可能会相互覆盖,最终评估具有更高重要性的配置。


推荐阅读