Kafka物化视图TTL

时间:2018-08-26 10:19:39

标签: apache-kafka apache-kafka-streams materialized-views

据我所知,Kafka默认情况下会将记录保留在主题中7天,然后将其删除。但是卡夫卡物化视图怎么样,卡夫卡将数据保留在那里多长时间(不定或有限的时间)?另外,Kafka是否在集群上复制物化视图?

1 个答案:

答案 0 :(得分:2)

可以使用保留时间或日志压缩来配置Kafka主题。对于日志压缩,将永远不会删除每个键的最新记录,而具有相同键的旧记录将定期进行垃圾回收。参见https://kafka.apache.org/documentation/#compaction

当Kafka Streams创建KTable或状态存储并创建容错的changelog主题时,它将在启用日志压缩的情况下创建此changelog主题。

  

注意:如果您直接以KTableGlobalKTable(即builder.table(...))的身份阅读主题,则不会创建其他更改日志主题,但是源主题将用于此目的。因此,应该为源主题配置日志压缩(而不是保留时间)。

您可以使用StreamConfig参数repliaction.factor配置所需的复制因子。您也可以根据需要随时手动更改复制因子,例如,通过bin/kafka-topics.sh命令。