Kafka Streams - 来自具有保留策略的主题的 KTable

Kyl*_*ham 5 apache-kafka apache-kafka-streams

我正在试验 kafka 流,我有以下设置:

  • 我有一个现有的 kafka 主题,其密钥空间是无限的(但可预测且众所周知)。
  • 我的主题有一个保留策略(以字节为单位)来老化旧记录。
  • 我想将这个主题具体化到一个 Ktable 中,我可以在其中使用交互式查询 API 按键检索记录。

有什么办法可以让我的 KTable 从我的主题中“继承”保留策略?那么当记录超出主要主题时,它们在 ktable 中不再可用?

我担心将所有记录转储到 KTable 中并使 StateStore 无限增长。

我能想到的一个解决方案是转换为一个窗口流,其跳跃窗口等于记录的 TimeToLive,但我想知道是否有更好的解决方案以更原生的方式。

谢谢。

Mat*_*Sax 5

不幸的是不支持atm。不过有一个 JIRA:https : //issues.apache.org/jira/browse/KAFKA-4212

另一种可能性是将墓碑消息 ( <key,null>) 插入到输入主题中。该KTable会挑选那些备份并删除从商店对应的按键。