Apache kafka 从队列使用者动态打开Kafka流

Apache kafka 从队列使用者动态打开Kafka流,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我们有一个用例,根据到达工作队列的工作项,我们需要使用消息metatdata来决定从哪个Kafka主题传输数据。我们部署的工作节点可能少于100个,每个工作节点可以有可配置数量的线程来接收队列中的消息。因此,如果一个工作者有“n”个线程,我们可能会打开卡夫卡流,以“n”个不同的主题。(n通常小于10)。 一旦worker处理完消息,我们还需要关闭流。 一旦确认了第一条消息,worker就可以接收下一条消息,此时,我需要打开另一个主题的kafka流。 此外,每个kafka流需要扫描所有分区(大约5

我们有一个用例,根据到达工作队列的工作项,我们需要使用消息metatdata来决定从哪个Kafka主题传输数据。我们部署的工作节点可能少于100个,每个工作节点可以有可配置数量的线程来接收队列中的消息。因此,如果一个工作者有“n”个线程,我们可能会打开卡夫卡流,以“n”个不同的主题。(n通常小于10)。 一旦worker处理完消息,我们还需要关闭流。 一旦确认了第一条消息,worker就可以接收下一条消息,此时,我需要打开另一个主题的kafka流。 此外,每个kafka流需要扫描所有分区(大约5-10个分区),以便根据特定属性筛选主题


像这样的流程是否适用于Kafka streams,或者这不是一种最佳方法?

我不确定是否完全理解该用例,但它似乎是一个“简单”的将数据从主题a复制到主题B用例的过程,即没有数据处理/修改。但是,将数据从输入复制到输出主题的逻辑似乎很复杂,因此使用卡夫卡流(即卡夫卡的流处理库)可能不是最佳选择,因为您需要更大的灵活性

但是,使用普通的
KafkaConsumers
KafkaProducers
应该允许您实现您想要的