使用卡夫卡的日志压实,我能做些什么,以保证消费者千万不要错过消息,如果它们不被某些规定时限落后?

Gur*_* GV 3 apache-kafka kafka-consumer-api kafka-producer-api

从这里:http://kafka.apache.org/documentation.html#compaction,很明显,如果我启用日志压缩,则无法保证在日志的"头部"中保留什么.所以,考虑到我有消费者 - 例如:审核消费者,我怎样才能确保我将至少保留所有消息(比如说)7天,只有比这更早的消息应该有资格进行压缩?

没有公开的配置wrt log.compaction允许我提供这样的保证.这可能吗?

小智 6

这不会解决您的问题 - 将其设置为7天?

"日志清理程序可以配置为保留日志的最小量未压缩"头部".这可以通过设置压缩时间延迟来实现.

log.cleaner.min.compaction.lag.ms

这可以用来防止比最小消息年龄更新的消息受到压缩."

(来自http://kafka.apache.org/documentation.html#compaction)