Kafka Streams 将新源添加到 运行 应用程序
Kafka Streams Add New Source to Running Application
是否可以将另一个源主题添加到 运行 kafka 流 java 应用程序的现有拓扑中。根据 javadoc (https://kafka.apache.org/23/javadoc/org/apache/kafka/streams/KafkaStreams.html) 我猜答案是否定的。
我的用例:
REST api 调用触发新的源主题应该由现有处理器处理。源主题存储在数据库中并用于生成拓扑。
我认为唯一的选择是关闭应用程序并重新启动它,以便选择新主题。
是否可以在不关闭应用程序的情况下添加源主题?
您不能在 运行 期间修改程序。正如您所指出的,要更改任何内容,您需要停止程序并创建一个新的 Topology
。根据您的程序和更改,您实际上可能需要在重新启动应用程序之前重置它。比照。 https://docs.confluent.io/current/streams/developer-guide/app-reset-tool.html
是否可以将另一个源主题添加到 运行 kafka 流 java 应用程序的现有拓扑中。根据 javadoc (https://kafka.apache.org/23/javadoc/org/apache/kafka/streams/KafkaStreams.html) 我猜答案是否定的。
我的用例: REST api 调用触发新的源主题应该由现有处理器处理。源主题存储在数据库中并用于生成拓扑。
我认为唯一的选择是关闭应用程序并重新启动它,以便选择新主题。
是否可以在不关闭应用程序的情况下添加源主题?
您不能在 运行 期间修改程序。正如您所指出的,要更改任何内容,您需要停止程序并创建一个新的 Topology
。根据您的程序和更改,您实际上可能需要在重新启动应用程序之前重置它。比照。 https://docs.confluent.io/current/streams/developer-guide/app-reset-tool.html