我有一个复杂的拓扑,包括KStreams,KTables,联接,重命名,过滤器,直通,分支,zip等,其中包含有关输出主题的实时客户端。
所有输入,中间和输出主题都是基于avro的主题。
我如何处理拓扑更改(添加新步骤,新的input-intermidate-output主题),知道kafka-streams维护内部状态和更改日志,并满足以下业务要求:
答案是介于使用kafka-streams-application-reset
或创建全新的消费者组(应用程序ID)之间的某个地方?
答案 0 :(得分:2)
目前,Kafka Streams中没有检查点或保存点类型的概念。
如果您需要更新现有的应用程序,则可以安全地使用新的application.id或重置现有的application.id
。
在某些情况下,您需要根据拓扑的变化来定义新的application.id
。
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+Data+%28Re%29Processing+Scenarios