假设我将A-Event KStream聚合为A-Snapshot KTable,将B-Event KStream聚合为B-Snapshot KTable。A-Snapshot和B-Snapshot都不传递空值(删除事件被聚合为快照的状态属性)。此时,我们可以假设我们有一个持久化的kafka主题和一个rocksDB本地存储库,用于A-KTable和B-KTable聚合。然后,我的拓扑将与A-KTable一起使用B-KTable来生成一个连接的AB-KStream。尽管如此,我的问题是A-KTable和B-KTable物化生命周期(即changelog主题和本地rocksdb存储)。假设A-Event主题和B-Event主题保留策略被设置为2周,是否有一种方法可以副作用卡夫卡内部KTable物化主题保留策略(changelog和rocksDB)与上游事件主题删除保留策略?否则,我们是否可以使用某种保留策略来配置KTable物化,以管理changelog主题和rockdb存储生命周期?考虑到我不能显式地发出A-KTable和B-KTable快照墓碑?我担心变革者和当地商店会无限期地增长,
发布于 2019-05-21 14:30:00
目前,KStream不支持基于源主题保留策略在变更主题中注入清理的开箱即用功能。默认情况下,它使用“契约”保留策略。
有一个相同的公开JIRA问题:https://issues.apache.org/jira/browse/KAFKA-4212
一种选择是注入墓碑信息,但这不是一个好方法。
对于窗口商店,您可以使用“紧凑,删除”保留策略。
https://stackoverflow.com/questions/56238050
复制相似问题