我试图了解 Kafka 压缩的工作原理,并有以下问题:kafka 是否保证启用压缩的主题中存储的消息的键的唯一性?
Thanks!
简短的回答是否定的。
Kafka 不保证启用主题保留时存储的密钥的唯一性。
在 Kafka 中有两种类型cleanup.policy
:
-
delete
- 这意味着在配置的时间之后消息将不可用。有几个属性可以用于此目的:log.retention.hours
, log.retention.minutes
, log.retention.ms
。默认情况下log.retention.hours
is set 168
。这意味着,消息older超过 7 天将deleted
-
compact
- 对于每个键,至少有一条消息可用。在某些情况下可能是一个,但在大多数情况下会更多。压缩处理会定期在后台运行。它通过删除重复项并仅保留最后一个值来复制日志部分。
如果您只想读取每个键的一个值,则必须使用KTable<K,V>
抽象自卡夫卡流.
关于键和压缩的最新值的相关问题:Kafka只订阅最新消息?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)