假设有两个主题,A和B.主题A的保留期为1年,包含1年的数据。
进程P转换来自主题A的消息并将它们存储在主题B中。进程P需要读取来自主题A的所有消息。其他一些进程从主题B读取消息并将它们存储在数据库中。
问题:如何配置主题B以处理主题A中的所有消息?具体而言,它必须具有与A相同的保留期吗?
答案 0 :(得分:0)
不,除非必要,否则没有必要为应用程序中使用的所有Kafka主题保留相同的保留期。 您可以从命令行覆盖主题B的保留期。
这取决于用例,您希望在主题B中保留已处理数据的时长。
同样可以从代码: http://kafka.apache.org/documentation.html#topicconfigs
答案 1 :(得分:0)
持续消费的主题并不需要较长的保留时间,足以弥补消费者的停机/处理延迟。
如果进程将所有数据存储在数据库中,则不需要保留主题B,因此您可以将其设置为具有较短的保留时间。