首页 > 解决方案 > 有没有办法在 Kafka 服务器的主题中始终保留最后一条消息?

问题描述

从官方 Kafka 文档https://kafka.apache.org/documentation/#gettingStarted中有时间和大小保留参数。有没有办法将 Kafka 配置为始终保留每个主题的最后一条消息,无论它会持续多长时间?目前我正在考虑在到期时重新发布它,这看起来不是一个好主意。

标签: apache-kafka

解决方案


请参阅日志压缩部分并设置主题设置cleanup.policy=compact将无限期保留消息,但仅保留具有唯一键的消息。

请注意,所有消息都将保留在一个打开的“段”中,默认为 1GB 的数据,而任何关闭的旧段将具有唯一键控事件。您可以调整主题的段大小和“脏比”以使其LogCleaner更具侵略性,但这会以性能为代价。


推荐阅读